1

ハンドラー内からボタンを非表示にしています (これは、アプリの別の状態で表示できるようにした後です)。ハンドラーは、実行中のスレッドからメッセージを受け取り、GUI を更新します。

問題は、近くの(すべてではない)ボタンとテキストビューも画面から消えていることです..相対レイアウトを使用しています。

レイアウト:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget54"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<Button
    android:id="@+id/btnFold"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:text="Fold" 
    android:visibility="invisible"/ >

<Button
    android:id="@+id/btnRaise"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_toLeftOf="@+id/btnFold"
    android:text="Raise" 
    android:visibility="invisible"/>


<Button
    android:id="@+id/btnCall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_toLeftOf="@+id/btnRaise"
    android:text="Call"
    android:visibility="invisible" />

<TextView
    android:id="@+id/txtFlopTurnRiver"
    android:layout_width="135dp"
    android:layout_height="50dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text=" " />


<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/btnCall"
    android:layout_toLeftOf="@+id/btnCall"
    android:text="Chip amount:" />

<TextView
    android:id="@+id/txtHand1"
    android:layout_width="73dp"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:text=" " />

<Button
    android:id="@+id/btnDeal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:text="@string/deal_deck"
    android:visibility="invisible" />

<Button
    android:id="@+id/btnRiver"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/btnDeal"
    android:text="River"
    android:visibility="invisible" />

<TextView
    android:id="@+id/txtHand2"
    android:layout_width="73dp"
    android:layout_height="wrap_content"
    android:layout_above="@+id/txtHand1"
    android:layout_toLeftOf="@+id/btnRaise"
    android:text=" " />

<TextView
    android:id="@+id/txtHand3"
    android:layout_width="73dp"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/btnRaise"
    android:layout_centerVertical="true"
    android:text=" " />

<TextView
    android:id="@+id/txtHand8"
    android:layout_width="73dp"
    android:layout_height="wrap_content"
    android:layout_above="@+id/txtHand1"
    android:layout_alignLeft="@+id/btnRiver"
    android:text=" " />

<TextView
    android:id="@+id/txtHand6"
    android:layout_width="73dp"
    android:layout_height="21dp"
    android:layout_above="@+id/txtFlopTurnRiver"
    android:layout_alignLeft="@+id/txtHand8"
    android:layout_marginBottom="26dp"
    android:text=" " />

<TextView
    android:id="@+id/txtHand4"
    android:layout_width="73dp"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/txtHand6"
    android:layout_alignBottom="@+id/txtHand6"
    android:layout_toLeftOf="@+id/btnRaise"
    android:text=" " />

<TextView
    android:id="@+id/txtHand5"
    android:layout_width="73dp"
    android:layout_height="wrap_content"
    android:layout_above="@+id/txtHand4"
    android:layout_alignLeft="@+id/txtHand1"
    android:layout_marginBottom="14dp"
    android:text=" " />

<TextView
    android:id="@+id/txtHand7"
    android:layout_width="73dp"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/txtHand3"
    android:layout_alignBottom="@+id/txtHand3"
    android:layout_alignRight="@+id/btnRiver"
    android:layout_marginRight="26dp"
    android:text=" " />



<TextView
    android:id="@+id/txtChipAmount"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_toLeftOf="@+id/btnCall"
    android:layout_toRightOf="@+id/txtHand1"
    android:text="103360" />

問題の原因を知っている人はいますか?

btnFold = (Button)findViewById(R.id.btnFold);
btnFold.setVisibility(View.GONE);
4

2 に答える 2

3

完全なxmlが表示されたので、をに設定するとView、それGONEに関連して設定されたビュー(今は画面の左下に(何もなくて一番下にあります)特定の理由がない限り、単に非表示にしたい場合は設定することをお勧めしますか?layout_toLeftOflayout_abovetoLeftOftoLeftOfView.INVISIBLEViewView.GONE

于 2012-07-29T23:18:46.410 に答える
1

非表示にしたいボタンを

<LinearLayout 
 android:id="@+id/LLid" 
 android:layout_alignParentRight="true"
 android:layout_width="wrap_content"
....
>

</LinearLayout>

そして、すべてのlayout_toLeftOfをLinearLayout(LLid)にしました

その後、可視性を定義します。ボタンに移動し、setVisibility(VIEW.VISIBLE) で表示します。

于 2012-10-18T15:33:08.120 に答える