我正在开发一个使用片段的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