以编程方式设置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);
}