在代码中创建自定义的展开视图

问题描述:

我想自定义通知区域,向右侧添加图标并添加几个按钮。 我已阅读教程在这里:http://developer.android.com/guide/topics/ui/notifiers/notifications.html在代码中创建自定义的展开视图

问题是,我需要将此代码包含在库中,我想要分发以改善通知的SDK。 (请参阅http://hub.buzzbox.com/

是否可以在代码中编写所有UI,而无需使用xml来描述远程视图?这是因为资源不能包含在一个SDK中,所以我需要问我的SDK的用户添加一个xml到他们的资源中,并按名称引用所有资源......这是我想避免的。 我已经用Java代码完全编写了SDK用户界面的其他部分,但我在删除视图时也遇到了相同的问题。

一个远程视窗通常是创建这样的:

RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification_layout); 

我可以创建一个远程视窗从我的布局,我与Java代码中创建? 任何其他解决方案?

我以为你可以用你自己的Parcel做到这一点,但是看着代码,Parcel只是简单地存储包的名称和布局(资源)ID,就像主构造函数一样。

public void writeToParcel(Parcel dest, int flags) { 
    dest.writeString(mPackage); 
    dest.writeInt(mLayoutId); 
    int count; 
    if (mActions != null) { 
     count = mActions.size(); 
    } else { 
     count = 0; 
    } 
    dest.writeInt(count); 
    for (int i=0; i<count; i++) { 
     Action a = mActions.get(i); 
     a.writeToParcel(dest, 0); 
    } 
} 

我看不到这样做的一种方式,认为它可能是不可能的。