2011-10-28 13 views
0

私はAndroidアクティビティを作成しています。このアクティビティでは、初期化時にレイアウトにプログラム的な変更を加える必要があります。どこでAndroidのアクティビティの初期化でレイアウトの変更を適用する必要がありますか?

アクティビティは、setContentView(R.layout.main)を介してXMLリソースからコンテンツビューを設定する標準onCreateコールを使用します。これは正常に動作します。しかし、コード内のいくつかのオブジェクトの位置を変更する必要があります。

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); 
+1

コードを入力してください。どのように変更しますか? – Lukap

+1

ここにコードを貼り付け、デバッグしてください。 –

答えて

1

自分でlayout()に電話をかけてはいけません。 Androidがそれを処理します。ウィジェットのLayoutParamsを調整して、レイアウト変更に影響を与えるために他のことを行う必要があります。

関連する問題