据我所知,android小部件需要RemoteViews,而不是View,比如活动。
我的问题:有没有办法完全避免使用xml,并使用java代码构建整个布局?
替代问题:我可以以某种方式检索视图,就像我会使用findViewById(int)
一样吗?例如:LinearLayout linearLayout=(LinearLayout)findViewById(R.id.xxx);
这样我可以访问基本布局,然后操纵我想要的。
谢谢!
答案 0 :(得分:4)
有没有办法完全避免使用xml,并使用java代码构建整个布局?
不,抱歉。 RemoteViews
严重依赖于布局XML资源。虽然有addView()
方法,但它会转过来并添加另一个RemoteViews
,这会让您回到起点。
我可以以某种方式检索View,就像我会使用findViewById(int)?
不,因为您的流程中没有View
。您可以通过RemoteViews
上的各种setter方法配置小部件。
答案 1 :(得分:0)
您可以像实际一样实际使用线性布局
LinearLayout mLinearLayout = new LinearLayout(this);
你也可以使用
添加它的chilldButton mButton = new Button(this);
mLinearLayout.addView(mButton);
setContentView(mLinearLayout);