我想自定义通知区域,在右侧和几个按钮上添加一个图标。 我在这里阅读了教程:http://developer.android.com/guide/topics/ui/notifiers/notifications.html
问题是我需要将此代码包含在库中,我想分发一个SDK来改进通知。 (见http://hub.buzzbox.com/)
是否可以在代码中编写所有UI,而无需使用xml来描述远程视图?这是因为资源不能包含在SDK中,所以我需要让我的SDK用户在他们的资源中添加一个xml,并按名称引用所有资源......我想避免这样做。 我已经完全用Java代码编写了SDK用户界面的其他部分,但我对删除视图也有同样的问题。
RemoteView通常是这样创建的:
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification_layout);
我可以使用Java代码从I布局创建RemoteView吗? 还有其他解决方案吗?
答案 0 :(得分:0)
我认为您可以使用自己的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);
}
}
我看不出这样做的方法,并认为这可能是不可能的。