创建字母按钮

时间:2015-01-11 21:46:34

标签: android

我想用字母表制作按钮并将它们分组如下:

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
..

我该怎么做?我是否必须为每一行创建布局?

2 个答案:

答案 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 = "";
}