嘿,夥計們,我正在開發一個應用程序的屏幕出現問題。當我點擊確定按鈕時,ImageButton(btnSelect)應該設置可見性(GONE)並且應該出現ImageView(OkIcon),但是這會縮小EditText的空間,正如您在這些屏幕截圖中看到的那樣。Android:TableLayout在設置時發生變化View的setVisibility(可見)
http://imageshack.us/photo/my-images/17/problem1ei.png/
http://imageshack.us/photo/my-images/852/problem2m.png/
這究竟是爲什麼?
CODE:
@Override
public void onClick(View v) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (v.getId() == R.id.init_select1) {
if (validateSal(this.edtTextInit1.getText().toString())) {
saveSal(this.edtTextInit1.getText().toString());
imm.hideSoftInputFromWindow(edtTextInit1.getWindowToken(),0);
edtTextInit1.setEnabled(false);
btnSelect1.setVisibility(View.GONE);
okIcon1.setVisibility(View.VISIBLE);
btnSelect2.setVisibility(View.VISIBLE);
}
佈局的XML:
<ScrollView
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TableLayout
android:gravity="center"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1"
android:shrinkColumns="0">
<TableRow>
<TextView
style="@style/styleTextLabel"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/label_init"
android:id="@+id/label_init"
android:layout_margin="10dip">
</TextView>
</TableRow>
<TableRow>
<EditText
android:layout_column="0"
android:layout_marginRight="10dip"
android:layout_marginLeft="10dip"
android:layout_marginBottom="10dip"
style="@style/styleInputInit"
android:id="@+id/input_init1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>
<ImageView
android:visibility="gone"
android:layout_marginRight="10dip"
android:layout_marginLeft="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/okicon"
android:id="@+id/init_ok1">
</ImageView>
<ImageButton
android:layout_column="1"
android:layout_marginRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/init_select1"
android:background="@drawable/btn_ok_">
</ImageButton>
</TableRow>
<TableRow>
<EditText
android:layout_column="0"
android:layout_marginRight="10dip"
android:layout_marginLeft="10dip"
android:layout_marginBottom="10dip"
android:id="@+id/input_init2"
style="@style/styleInputInit"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>
<ImageView
android:layout_column="1"
android:visibility="gone"
android:layout_marginRight="10dip"
android:layout_marginLeft="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/okicon"
android:id="@+id/init_ok2">>
</ImageView>
<ImageButton
android:layout_column="1"
android:layout_marginRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/init_select2"
android:background="@drawable/btn_ok_"
android:visibility="gone">
</ImageButton>
</TableRow> (...)
沒有實際解決馬上,但使用layout_weight我能夠設置它,我想要的方式...非常感謝你 – 2011-05-23 18:20:00