使用java代码创建自定义状态栏通知布局
问题描述:
我正尝试用java代替xml创建自定义状态栏通知布局。我创建了一个线性布局,设置了所需的参数,将其设置在通知远程视图中,但它给了我FC。 (“坏通知贴出”)使用java代码创建自定义状态栏通知布局
这里是我的测试代码:
LinearLayout layoutTest;
layoutTest = new LinearLayout(this);
layoutTest.setOrientation(LinearLayout.VERTICAL);
LayoutParams paramTest = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT, 1.0f);
layoutTest.setLayoutParams(paramTest);
layoutTest.setId(R.id.mlinearlayout);
contentView = new RemoteViews(this.getPackageName(), R.id.mlinearlayout);
nbuilder.setContent(contentView);
// and all the other notification builder good stuff
我并不真正熟悉SETID(),可以是这样的问题? 对于ID我创建/res/values/ids.xml有:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="mlinearlayout" />
</resources>
任何帮助将不胜感激!
答
它可能与RemoteViews
构造函数期望XML文件的标识符相关,并且您正在传递元素的标识符。
也许它可以让你更深入地了解RemoteView的方法,如public View apply(Context context, ViewGroup parent)
,其中视图是膨胀的,使用布局ID。
你真的必须以编程的方式来做吗? XML似乎是要走的路,至少是有记录的,而且我没有看到代码中的共鸣,为什么你需要以编程方式进行。
是不是通知标识符应该是int? – matt5784 2012-07-06 17:26:43