2014-07-23 143 views
-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="#" /> 

我該如何去編程這個活動? 它的意思是數字鍵盤,如果有幫助。 這是要在自定義視圖中使用以編程方式設置android xml

我將如何去編程這在活動中? 它的意思是數字鍵盤,如果有幫助。 它在自定義視圖

回答

0

您NEAD使用網格佈局

像這樣使用:

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); 
} 

要固定你將需要intantiate一個LayoutParams變量和呼叫b.setLayoutParams(paramsVariable)

0

您可以通過使用簡單的for循環來以編程方式輕鬆創建所有按鈕,該循環會重複添加所需佈局上的所有按鈕(在以下情況下,線性佈局out)

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); 
} 
+0

會這個地方的第8個按鈕'android:id =「@ + id/pin8」'死在中間嗎? –

+0

將該按鈕從循環中移出並手動修改。 –

相關問題