2013-10-08 27 views
0

我想開發消息應用程序,如原生應用程序。問題是,當我把兩個或三個按鈕取決於名字規模將變成這個樣子 enter image description here將按鈕添加到縷行上的佈局中

我的代碼後添加按鈕是如下

 
    RelativeLayout tr = (RelativeLayout) findViewById(R.id.contacts_div); 
       RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 

       Button b = new Button(MainActivity.this); 
       b.setText(name); 
       b.setId(id); 

       tr.addView(b,params); 
       if(prev_id!=0) 
       { 
       params.addRule(RelativeLayout.RIGHT_OF,prev_id); 

       } 

我想,如果有足夠的空間不可用時,它將添加到下一行。 我嘗試了很多帖子在堆棧溢出但未能解決此問題 在此先感謝

+0

您想要FlowLayout。搜索它:) –

+1

可能的重複的[我怎麼能做一些像在Android的FlowLayout?](http://stackoverflow.com/questions/4474237/how-can-i-do-something-like-a-flowlayout -in-android) –

+0

正如@AleksG所說,你需要使用流佈局來實現這個 – Dinash

回答

0

您應該使用gridview來做到這一點。

+0

我想使它適用於minSdkVersion = 8和gridview工作minSdkVersion = 14 –

+0

你對GridLayout感到困惑。 – Snicolas

0

嘗試通過yout代碼設置您的按鈕位置一旦文本設置,然後您可以看到,如果您的按鈕的總寬度太大。然後你會知道何時在下一行放置一個按鈕。

而@Snicolas表示使用GridView,放置會更容易。

我希望這會幫助你。

+0

HappyDump我想讓它適用於minSdkVersion = 8,如果你能指導我如何獲得總寬度和可用寬度,那將是很大的幫助 –

+0

'Button'類繼承自'Android.View',它具有' getWidth()'方法。從那裏你可以添加它們並添加填充/邊距並獲得總寬度。您可以將其與「活動」寬度進行比較。 – HappyDump