我想用字母表制作按钮并将它们分组如下:
abcde
fghij
klmno
每行5个。这意味着这三条线必须由垂直方向的布局包裹,并且线条必须具有水平方向。(请注意,在下面的代码中我没有将每条线条放置5条线条)
LinearLayout layout = (LinearLayout) findViewById(R.id.linlay);
for (int i = 65; i <= 90; i++) {
Button button = new Button(this);
button.setId(i);
button.setText(String.valueOf((char) i));
button.setLayoutParams (new LayoutParams(50, LayoutParams.WRAP_CONTENT));
layout.addView(button);
}
linlay
这里有垂直方向,所以它会将我的按钮显示在彼此之下:
a
b
c
d
..
我该怎么做?我是否必须为每一行创建布局?
答案 0 :(得分:1)
您可以使用嵌套的线性布局,但是GridLayout可能更合适。
鉴于您想要的是数字键盘布局,只需要更多的键,或许this tutorial或其他类似的键可能是一个很好的灵感来源?
答案 1 :(得分:0)
之前我没有做过这样的事情,但通过逻辑猜测,提到了一个代码示例。请试试它是否有效。
int kStartIndex=0;
String s="",fullString="";
for (int i = 65; i <= 90; i+=5) {
Button button = new Button(this);
button.setId(i);
kStartIndex = i;
for(int j=0;j<5;j++) {
if(kStartIndex <=90)
{
s = String.valueOf((char) kStartIndex );
fullString =fullString+s;
}
kStartIndex++;
}
button.setText(fullString);
button.setLayoutParams (new LayoutParams(50, LayoutParams.WRAP_CONTENT));
layout.addView(button);
fullString = "";
}