2012-01-07 7 views
0

私のLinearLayoutでは、私はandroid:layout_marginBottomをXMLに設定しました。私はその値を取得したいだけです。Android:layout_marginBottomをプログラムで取得しますか?

ただLayoutParamsは私にbottomMarginへのアクセスを与えません。私は型キャストしようとしました:

row1 = (LinearLayout) findViewById(R.id.mainrow1); 
LinearLayout.LayoutParams row1Params = (android.widget.LinearLayout.LayoutParams) row1.getLayoutParams(); 

しかし、これは私にランタイム例外ClassCastExceptionを与えます。

主な目的は、ネストされたLinearLayoutsのボタンを持っていることです。& Buttonの高さを自動的に設定するようにプログラムでLinearLayoutの高さ/幅を設定したいとします。最初のレイアウトの後にbottomMarginを追加しました.2行の間にスペースがあります。

+1

がきれい試してみて、構築Wrap_Contentする1 セットLayout_Heightに セットLayout_Weightを0dipします。 – jeet

+0

@jitendrasharma、Yes jitendra、それは仕事をしました。私はHorizo​​ntal LinearLayoutに3 btnsを持っています。現在私はlayout_width = "78dip"に値を設定しています。私はそれが利用可能なすべてのスペースを使用したい。 "WRAP_CONTENT"を置くと、テキストのサイズだけがbtnの幅になります。私は、行のすべてのbtnが同じサイズであることを望み、すべての幅の広場を利用可能にします。 layout_heightに "fill_parent"を使用しているので、高さは問題ありません。そのトリックを行う幅に設定するものはありますか? – Tvd

答えて

2

を変更し、以下のロジックに従ってボタンのレイアウト、

セットLayout_Widthは

+0

- wrap_contentではなくfill_parentが動作します。しかし、それに問題がある。更新された質問を見てください。 – Tvd

+0

まだ問題に直面している場合や修正されている場合はお知らせください。 – jeet

+0

ありがとう、しかし、wraping&fillingの問題は解決されています。今、私はonCreate()のレイアウトの高さを見つけることができません - http://stackoverflow.com/questions/8784616/android-get-screen-size-for-the-root-layout-onlyあなたがガイドすることができます参照してくださいこれとともに。 – Tvd

0

これを試してください。あなたがレイアウトを取得すると、R.layout。最良の選択肢です。それは私のために働いています。

row1 = (LinearLayout) findViewById(R.layout.mainrow1); 
+0

あなたのコードでは、R.layout.mainrow1ではなくR.id.mainrow1です。 findViewByIdメソッドで、投稿されたコードの最初の行を参照してください。 – kosa

+0

R.id.mainrow1はこれを行う正しい方法です。 – jeet

+0

@thinksteep、jitendrasharmaのオプションclean&buildが仕事をしました。 layout_heightのためのThnaks – Tvd

関連する問題