我几乎有一个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;
}
}
其中pin和view_pin是私有静态变量。
答案 0 :(得分: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"/>