2012-06-30 68 views
0

我以編程方式創建了LinearLayout,並且我在此佈局中添加了三個按鈕,但它們顯示爲一個在另一個之上。以線性方式在LinearLayout中添加三個按鈕

如何顯示按鈕排列?

讀圍繞我大概明白,我需要建立一個的LayoutParams但是我沒有想出如何..

我試過這個,但它沒有做的伎倆..

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
      ViewGroup.LayoutParams.MATCH_PARENT, 
      ViewGroup.LayoutParams.MATCH_PARENT 
); 
ll.addView(b1, layoutParams); 
ll.addView(b2, layoutParams); 
ll.addView(b3, layoutParams); 

感謝您的幫助!

編輯:

也許我還需要增加更多的細節。

我在佈局中也有其他東西,但我並不重要,我只是爲按鈕創建了一個額外的佈局。

現在的按鈕都行,但它們具有不同的寬度..:/

我試過這個,但它並沒有幫助..

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
      ViewGroup.LayoutParams.MATCH_PARENT, 
      ViewGroup.LayoutParams.WRAP_CONTENT, 
      1f 
); 
+0

嘿。我正在嘗試做類似於你的事情,而且我遇到了一些問題。我經歷了這個解決方案,並檢查了你做了什麼,但出於某種原因,我得到了4個大按鈕佔用了整個屏幕的寬度,而不是出現在同一行。你認爲你可以看看並告訴我我做錯了什麼嗎? http://pastebin.com/26cTEqhg謝謝 – MasterGberry

回答

3
ll.setOrientation(LinearLayout.HORIZONTAL); 

讓您設置在水平線allignment按鈕。

但給所有三個按鈕提供平衡的空間。您必須將所有三個Button對象的weight屬性設置爲1

編輯:

這樣做對所有的按鈕。

LinearLayout.LayoutParams params = button.getLayoutParams(); 
params.weight = 1; 
button.setLayoutParams(params); 

設置所有按鈕的重量。

問候, Aqif哈米德

+0

是的,沒錯。現在我的按鈕在排隊,但它們的寬度不同。我怎樣才能調整重量屬性? – Enrichman

+0

在您的android佈局中,將此添加到您的'Button'的屬性'android:layout_weight =「1」' –

+0

我該如何編程? – Enrichman

0

所有已MATCH_PARENT應有的LayoutParams .WRAP_CONTENT在寬度或高度(在至少一個按的LinearLayout取向)

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
      ViewGroup.LayoutParams.MATCH_PARENT, 
      ViewGroup.LayoutParams.WRAP_CONTENT 
2

嘗試這種情況:

ll.setOrientation(LinearLayout.HORIZONTAL); 
0

試試:

LinearLayout gvDivisao = (LinearLayout) findViewById(R.id.gvDivisao); 
    LayoutInflater inflater = getLayoutInflater(); 
    LayoutParams btDivLayoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f); 

    Button btDivA = (Button)inflater.inflate(R.layout.button_divisao, null); 
    btDivA.setText("A"); 
    gvDivisao.addView(btDivA, btDivLayoutParams); 
相關問題