Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以编程方式设置androidxml_Android_Xml_Dynamic_Programmatically Created - Fatal编程技术网

以编程方式设置androidxml

以编程方式设置androidxml,android,xml,dynamic,programmatically-created,Android,Xml,Dynamic,Programmatically Created,我将如何在活动中对此进行编程? 如果有帮助的话,它应该是一个数字键盘。 它将在自定义视图中使用 我将如何在活动中对此进行编程? 如果有帮助的话,它应该是一个数字键盘。 它将在自定义视图中使用您需要使用GridLayout 大概是这样的: <Button android:id="@+id/pin1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:

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

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

您需要使用GridLayout

大概是这样的:

<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="#" />
GridLayout buttonLayout=新的GridLayout(此);
buttonLayout.setLayoutParams(新的ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_内容,ViewGroup.LayoutParams.WRAP_内容));
按钮布局。设置方向(网格布局。水平);
buttonLayout.setColumnCount(3)//柱数
对于(int i=0;i

要与进行固定,您需要输入一个
LayoutParams
变量和调用
b.setLayoutParams(paramsVariable)

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

LinearLayout布局=(LinearLayout)findViewById(R.id.linear\u布局\u标记);
layout.setOrientation(LinearLayout.VERTICAL);//也可以通过android在xml中完成:orientation=“VERTICAL”
对于(int i=0;i<3;i++){
LinearLayout行=新的LinearLayout(该行);
row.setLayoutParams(新的LayoutParams(LayoutParams.FILL\u父级,LayoutParams.WRAP\u内容));
对于(int j=0;j<4;j++{
按钮btnTag=新按钮(此按钮);
btnTag.setLayoutParams(新的LayoutParams(LayoutParams.WRAP_内容,LayoutParams.WRAP_内容));
btnTag.setText(“按钮”+(j+1+(i*4));
btnTag.setId(j+1+(i*4));
行。添加视图(btnTag);
}
布局。添加视图(行);
}

这会不会把第八个按钮
安卓:id=“@+id/pin8”
放在中间?
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);
}
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);
}