2011-05-18 73 views
1

非常多我有一個Textview,當用戶點擊我製作的按鈕的一個針墊時,它充當星號的顯示。更改textview時,textview下方按鈕上的文字向下移動。幫幫我!

這些按鈕的文本居中,但似乎當我向Textview文本屬性追加某些內容時,2號針的佈局更改爲以底部而不是死點爲中心。這是XML的一部分部分:

<!-- PIN text --> 
<TableLayout> 
    <TableRow android:id="@+id/btn_row1" 
     android:gravity="center" 
     android:layout_marginTop="6dip"> 
     <!-- password text--> 
     <TextView 
      android:id="@+id/txt_pin" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textColor="#FFFFFF" 
      android:text="" 
      android:background="@drawable/txt_background"/> 
    </TableRow> 
</TableLayout> 
<!-- PIN ends --> 
<!-- Header end --> 
<!-- PIN button starts -->  
<TableLayout android:id="@+id/table_modes" 
    android:layout_marginTop="6dip"> 
    <!-- First button rows --> 
    <TableRow android:id="@+id/btn_row1" 
     android:gravity="center"> 
     <!-- one button--> 
     <Button android:id="@+id/btn_one" 
      android:layout_column="1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="3dip" 
      android:layout_marginRight="2.5dip" 
      android:textColor="#FFFFFF" 
      android:text="1" 
      android:background="@drawable/button_layout_med" 
      android:onClick="input"/> 
     <!-- two Button --> 
     <Button android:id="@+id/btn_two" 
      android:layout_column="2" 
      android:layout_width="100dip" 
      android:layout_height="60dip" 
      android:layout_marginLeft="2.5dip" 
      android:layout_marginRight="2.5dip" 
      android:gravity="center" 
      android:textColor="#FFFFFF" 
      android:text="2" 
      android:background="@drawable/button_layout_med" 
      android:onClick="input"/> 
     <!-- 3 button --> 
     <Button android:id="@+id/btn_three" 
      android:layout_column="3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="2.5dip" 
      android:layout_marginRight="3dip" 
      android:textColor="#FFFFFF" 
      android:text="3" 
      android:background="@drawable/button_layout_med" 
      android:onClick="input"/> 
    </TableRow> 
    <!-- First row ends --> 
<!-- Rows continue down 3 more then a submit and back button --> 

接下來的部分是對的OnClick Java代碼:

public void input(View v){ 
      Button i = (Button) v; 
    TextView tv_pin = (TextView) findViewById(R.id.txt_pin); 


    while(view_pin.length() < 10){ 
     pin.append(i.getText().toString()); 
     view_pin.append('*'); 
     tv_pin.setText(view_pin.toString()); 
     break; 
    } 

} 

凡引腳和view_pin是私有的靜態變量。

+0

這是否每次都發生,或者只有當append引起換行符? – 2011-05-18 16:56:21

+0

它僅在第一次添加星號時發生,但在整個激活過程中它停留在那裏。 – Flippi 2011-05-18 17:07:49

+0

我注意到,由於某種原因,設置重力場的唯一按鈕是btn_two。以爲這可能是它,所以我刪除它。這雖然沒有解決問題。我也注意到我留下的行編號與編輯過的一樣,仍然沒有修復。 – Flippi 2011-05-18 17:16:24

回答

1

要解決此問題,我只需將第二個按鈕的高度和寬度的XML代碼更改爲「wrap_content」,而不是給它們一個靜態值。

<!-- two Button --> 
<Button android:id="@+id/btn_two" 
    android:layout_column="2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="2.5dip" 
    android:layout_marginRight="2.5dip" 
    android:gravity="center" 
    android:textColor="#FFFFFF" 
    android:text="2" 
    android:background="@drawable/button_layout_med" 
    android:onClick="input"/> 
相關問題