2011-05-18 51 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"/> 
相关问题