我正在開發一個使用片段的Android應用程序。在兩個片段中,我使用TableLayout以編程方式創建由按鈕組成的矩陣視圖。矩陣的維度因應用的不同運行而不同,但通常我有10-15行和10-15列。Android - 如何使一個TableLayout按鈕適合不同尺寸的屏幕
我有OddsButton擴展按鈕。
我想讓這個視圖填充不同設備上的屏幕,但我一直無法理解什麼是正確的方法。我可以(通過對寬度和高度進行硬編碼)來影響按鈕的高度和寬度(請參閱下面的代碼),但我仍然在努力將其適用於Nexus 7。如果我首先找到合適的高度來使它適合屏幕,那麼當我開始添加更多寬度時,按鈕也會變得更高,並且我無法調整它。
很抱歉,如果這個問題很奇怪,但我希望有人能理解這一點。我意識到我可能會爲此嘗試完全錯誤的方法。
for (int k=1;k<=n2;k=k+1){
OddsButton b = new OddsButton(this.getActivity());
b.setLeg1(no);
b.setLeg2(k);
b.setO(this.getO(no,k));
b.setIndex(this.IndexForCombination(no, k));
b.setMinimumHeight(height);
b.setHeight(height);
b.setMinimumWidth(width);
b.setMinimumHeight(width);
b.setPadding(0, 0, 0, 0);
當然,我把我的例子作爲xml文件,但我相信你可以很容易地將它改爲程序,如果你更願意在代碼中做到這一點。 – user2707175
謝謝,這是一個非常好的開始。通過這個我可以得到填滿整個屏幕寬度的按鈕。有什麼我可以做的垂直填充屏幕以及?或者,我應該有一個垂直滾動視圖,並不是所有時間都顯示所有按鈕? (int k = 1; k <= 15; k ++){ (TableRow tr = new TableRow(this.getActivity()); (int i = 1; i <= 15; i ++){ Button tv = new Button(this.getActivity()); tv.setText(「」+ i +「」+ k); tv.setPadding(0,0,0,0); (tv); } table.addView(tr); } – user2993944
謝謝@ user2707175。上面添加的代碼有點難以閱讀,但是還有什麼方法可以對垂直間距進行排序嗎? – user2993944