-2
<Button
    android:id="@+id/pin1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/pin2"
    android:layout_toLeftOf="@+id/pin2"
    android:onClick="PIN"
    android:text="1" />

<Button
    android:id="@+id/pin2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/pin5"
    android:layout_alignLeft="@+id/pin5"
    android:onClick="PIN"
    android:text="2" />

<Button
    android:id="@+id/pin3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/pin2"
    android:layout_toRightOf="@+id/pin2"
    android:onClick="PIN"
    android:text="3" />

<Button
    android:id="@+id/pin4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/pin5"
    android:layout_toLeftOf="@+id/pin5"
    android:onClick="PIN"
    android:text="4" />

<Button
    android:id="@+id/pin5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/pin8"
    android:layout_alignLeft="@+id/pin8"
    android:onClick="PIN"
    android:text="5" />

<Button
    android:id="@+id/pin6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/pin5"
    android:layout_toRightOf="@+id/pin5"
    android:onClick="PIN"
    android:text="6" />

<Button
    android:id="@+id/pin7"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/pin8"
    android:layout_toLeftOf="@+id/pin8"
    android:onClick="PIN"
    android:text="7" />

<Button
    android:id="@+id/pin8"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:onClick="PIN"
    android:text="8" />

<Button
    android:id="@+id/pin9"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/pin8"
    android:layout_toRightOf="@+id/pin8"
    android:onClick="PIN"
    android:text="9" />

<Button
    android:id="@+id/pinclear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/pin0"
    android:layout_toLeftOf="@+id/pin0"
    android:onClick="PIN"
    android:text="*" />

<Button
    android:id="@+id/pin0"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/pin8"
    android:layout_alignLeft="@+id/pin8"
    android:onClick="PIN"
    android:text="0" />

<Button
    android:id="@+id/pincheck"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/pin0"
    android:layout_toRightOf="@+id/pin0"
    android:onClick="PIN"
    android:text="#" />

我将如何在活动中对此进行编程?如果有帮助,它应该是一个数字键盘。将在自定义视图中使用

我将如何在活动中对此进行编程?如果有帮助,它应该是一个数字键盘。将在自定义视图中使用

4

2 回答 2

0

你需要使用 GridLayout

像这样的东西:

GridLayout buttonLayout = new GridLayout(this);
buttonLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
buttonLayout.setOrientation(GridLayout.HORIZONTAL);
buttonLayout.setColumnCount(3); //Amount of colums


for(int i = 0; i < numberOfButtons; i++)
{
    Button b = new Button(this);
    b.setText(i);
    b.setPadding(5,5,5,5);
    b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //Do Something on click
        }
    buttonLayout.addView(b);
}

要进行修复,您需要实例化一个LayoutParams变量和调用b.setLayoutParams(paramsVariable)

于 2014-07-23T22:41:37.260 回答
0

您可以使用简单的 for 循环轻松地以编程方式创建所有按钮,该循环会在所需布局上重复添加所有按钮。(在以下情况下,线性布局)

LinearLayout layout = (LinearLayout) findViewById(R.id.linear_layout_tags);
layout.setOrientation(LinearLayout.VERTICAL);  //Can also be done in xml by android:orientation="vertical"

for (int i = 0; i < 3; i++) {
LinearLayout row = new LinearLayout(this);
row.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,     LayoutParams.WRAP_CONTENT));

for (int j = 0; j < 4; j++ {
    Button btnTag = new Button(this);
    btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    btnTag.setText("Button " + (j + 1 + (i * 4));
    btnTag.setId(j + 1 + (i * 4));
    row.addView(btnTag);
}

layout.addView(row);
}
于 2014-07-23T23:11:52.783 回答