Android 更改textview时,textview下方按钮上的文本向下移动。救命啊!
几乎我有一个文本视图,当用户点击我制作的按钮时,它会显示星号 按钮的文本居中,但当我将某些内容附加到Textview文本属性时,2号管脚的布局似乎会更改为底部的中心,而不是死点。这是xml的一部分:Android 更改textview时,textview下方按钮上的文本向下移动。救命啊!,android,android-layout,Android,Android Layout,几乎我有一个文本视图,当用户点击我制作的按钮时,它会显示星号 按钮的文本居中,但当我将某些内容附加到Textview文本属性时,2号管脚的布局似乎会更改为底部的中心,而不是死点。这是xml的一部分: <!-- PIN text --> <TableLayout> <TableRow android:id="@+id/btn_row1" android:gravity="center" android:layout_margin
<!-- 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;
}
}
公共无效输入(视图v){
按钮i=(按钮)v;
TextView tv_pin=(TextView)findViewById(R.id.txt_pin);
while(视图长度()<10){
append(i.getText().toString());
视图_pin.append('*');
tv_pin.setText(view_pin.toString());
打破
}
}
其中pin和view\u pin是私有静态变量。要解决这个问题,我只需将第二个按钮的高度和宽度的XML代码更改为“wrap\u 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"/>
为了解决这个问题,我只需将第二个按钮的高度和宽度的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"/>
这是每次都会发生,还是仅当追加导致换行时才会发生?它只在第一次追加星号时发生,但在整个激活过程中它一直保持在下方。我注意到,出于某种原因,唯一设置了重力场的按钮是btn_2。我想这可能就是它,所以我把它拿走了。但这并没有解决问题。我还注意到我将行ID保留为原来的状态,因此进行了编辑,仍然没有修复。解决了我的问题。android:layout\u width=“100dip”android:layout\u height=“60dip”是为按钮二设置的,我将所有其他按钮放在“包装内容”中。我不知道为什么我明确地把按钮二的高度和宽度。。。将高度和宽度更改为“包裹内容”,现在效果非常好。对您有好处。如果你在下面做出自己的“答案”并接受它,那就太好了。它是每次都会发生,还是只在追加后会换行?它只会在第一次追加星号时发生,但在整个激活过程中它一直在下面。我注意到,出于某种原因,唯一设置了重力场的按钮是btn_2。我想这可能就是它,所以我把它拿走了。但这并没有解决问题。我还注意到我将行ID保留为原来的状态,因此进行了编辑,仍然没有修复。解决了我的问题。android:layout\u width=“100dip”android:layout\u height=“60dip”是为按钮二设置的,我将所有其他按钮放在“包装内容”中。我不知道为什么我明确地把按钮二的高度和宽度。。。将高度和宽度更改为“包裹内容”,现在效果非常好。对您有好处。如果你在下面给出自己的“答案”并接受它,那就太好了。