我正在编写一个Android Activity,我需要在初始化时对布局进行一些编程更改。
该活动使用标准onCreate调用,该调用通过setContentView(R.layout.main)从XML资源设置内容视图。这很好用。但是,我需要在代码中更改某些对象的位置。
当我尝试从onCreate和onResume内部调用object.layout时,似乎永远不会应用布局更改。
还有其他地方我应该这样做吗?
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
LinearLayout rl = (LinearLayout) findViewById(R.id.navPanel);
Rect myrect = new Rect();
rl.getLocalVisibleRect(myrect);
rl.layout(myrect.left,-120,myrect.right,(myrect.bottom-myrect.top)-120);
答案 0 :(得分:1)
您不应该自己致电layout()
。 Android处理它。您需要做其他事情来影响布局更改,通常是通过调整窗口小部件的LayoutParams
。