0

ブール値がtrueに設定されている場合、3つの親戚すべてがユーザーインターフェイスに表示されるという条件を持つ小さなコードを実行しようとしています。false に設定すると、2 つのレイアウトのみが表示されます。私はこれを行うことができます。

私の問題は、条件を確認してレイアウト 2 に条件を設定するView.INVISIBLEと、レイアウト 1 とレイアウト 3 の間にギャップが発生することです。このギャップを削除するにはどうすればよいですか? 私のレイアウトは、次のように XML で作成されます。

<RelativeLayout
    android:id="@+id/rl_one"
    android:layout_width="wrap_content"
    android:layout_height="40dp"                    
    android:layout_marginLeft="20dp"
    android:layout_marginTop="10dp" />

<RelativeLayout
   android:id="@+id/rl_two"
   android:layout_width="wrap_content"
   android:layout_height="40dp"
   android:layout_below="@+id/rl_one"
   android:layout_marginLeft="20dp"
   android:layout_marginTop="10dp" />

<RelativeLayout
    android:id="@+id/rl_three"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:layout_below="@+id/rl_two"
    android:layout_marginLeft="20dp"
    android:layout_marginTop="10dp" />

ありがとうございました。

4

2 に答える 2

3

View.INVISIBLE の代わりに View.GONE を使用する必要があります。

于 2012-05-14T11:25:38.673 に答える
1

コードに 2 つの変更を加えます

  1. layout_height="wrap_content"XMLで
  2. View.INVISIBLEと置き換えますView.GONE

使用している場合View.INVISIBLE、ビューは非表示のみですが、UI の間にギャップがあり、使用している場合View.GONE、UI はギャップなしに見えます:)

于 2012-05-14T11:30:57.857 に答える