以编程方式创建小部件

时间:2013-10-01 12:23:41

标签: android android-widget remoteview

据我所知,android小部件需要RemoteViews,而不是View,比如活动。

我的问题:有没有办法完全避免使用xml,并使用java代码构建整个布局?

替代问题:我可以以某种方式检索视图,就像我会使用findViewById(int)一样吗?例如:LinearLayout linearLayout=(LinearLayout)findViewById(R.id.xxx);这样我可以访问基本布局,然后操纵我想要的。

谢谢!

2 个答案:

答案 0 :(得分:4)

  

有没有办法完全避免使用xml,并使用java代码构建整个布局?

不,抱歉。 RemoteViews严重依赖于布局XML资源。虽然有addView()方法,但它会转过来并添加另一个RemoteViews,这会让您回到起点。

  

我可以以某种方式检索View,就像我会使用findViewById(int)?

不,因为您的流程中没有View。您可以通过RemoteViews上的各种setter方法配置小部件。

答案 1 :(得分:0)

您可以像实际一样实际使用线性布局 LinearLayout mLinearLayout = new LinearLayout(this);

你也可以使用

添加它的chilld
Button mButton = new Button(this);   

mLinearLayout.addView(mButton);

setContentView(mLinearLayout);