有没有办法从XML视图中获取参数,修改其中的一些内容然后将其用作内容视图?
假设我有一个正常的LinearLayout,我想让它工作:
LinearLayout layout = (LinearLayout) findViewById(R.layout.main);
setContentView(layout);
而不是:
setContentView(R.layout.main);
答案 0 :(得分:4)
是
更具体地说,我们需要您提供更具体的信息。
修改强>
例如,您可以执行以下操作。 假设您的xml规范中有TextView:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/mytv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="22sp"
android:textStyle="bold"/>
</RelativeLayout>
现在,您希望以编程方式将TextView水平居中:
setContentView(R.id.main);
TextView myTV = (TextView) findViewById(R.id.mytv);
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) myTV.getLayoutParams();
lp.addRule(RelativeLayout.CENTER_HORIZONTAL);
myTV.setLayoutParams(lp);
您只需在开始时设置内容视图,并且在更改变量时无需再次设置。
答案 1 :(得分:1)
即使在setContentView之后,您也可以对布局执行任何操作。当您执行诸如向布局添加项目或设置背景等操作时,将重新绘制屏幕中的视图。
onCreate方法是您可以修改布局以开始绘制到屏幕的方法。