2012-01-07 99 views
0

在我的LinearLayout中,我在我的XML中設置了android:layout_marginBottom。我只想檢索這個值。Android:以編程方式檢索layout_marginBottom?

只是LayoutParams不允許我訪問bottomMargin。我試圖強調:

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

但這給我運行時異常ClassCastException。

主要目的是我得到了嵌套LinearLayouts按鈕&我想設置LinearLayout的高度/寬度以編程方式,將inturn自動設置按鈕的高度。我在第一個佈局後添加了bottomMargin - 所以兩行之間有空格。

+1

嘗試清理並生成。 – jeet 2012-01-07 11:58:13

+0

@jitendrasharma,是的jitendra,做了這項工作。我在水平LinearLayout中有3個btns。目前我已經爲layout_width =「78dip」設置了值。我希望它使用所有可用的空間。如果我把「WRAP_CONTENT」,那麼只有文本的大小是btn的寬度。我希望該行的所有btns具有相同的大小,並利用所有的寬度來提高可用性。因爲我已經使用layout_height的「fill_parent」,所以高度很好。有什麼可以設置的寬度,將做的伎倆? – Tvd 2012-01-07 12:32:44

回答

2

更改按照以下邏輯您的按鈕佈局,

集Layout_Width到0dip 集Layout_Weight 1個 集Layout_Height到WRAP_CONTENT

+0

for layout_height - fill_parent的作品而不是wrap_content。但面臨着一個問題。看看更新後的問題。 – Tvd 2012-01-07 17:10:05

+0

如果您仍然遇到問題或者問題已解決,請讓我知道。 – jeet 2012-01-09 06:00:22

+0

謝謝,但包裝和填充問題已解決。現在我無法在onCreate()中找到佈局的高度 - http://stackoverflow.com/questions/8784616/android-get-screen-size-for-the-root-layout-only看看你是否可以引導有了這個。 – Tvd 2012-01-09 08:14:34

0

試試這個。當你得到佈局,R.layout。是最好的選擇。它爲我工作。

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

在你的代碼中,它是R.id.mainrow1而不是R.layout.mainrow1。請在findViewById方法中引用您的發佈代碼的第一行。 – kosa 2012-01-07 12:21:53

+0

R.id.mainrow1是正確的做法。 – jeet 2012-01-07 12:28:24

+0

@thinksteep,jitendrasharma的選擇清潔和建立做了工作。 thnaks – Tvd 2012-01-07 12:42:56