1

相対レイアウトへの可視性の設定に問題があります。私はrelativelayoutとその次のTextViewの下に大きなレイアウトの一部を持っています。しかし、私のコードでは、 myRelativeLayout.setVisibility(View.GONE); が呼び出されたときに、その下にあるTextViewは表示されませんでした。レイアウトを再配置するいくつかの方法を試しましたが、その下にそのテキストビューが必要です。ありがとう

私のXML:

<merge xmlns:android="http://schemas.android.com/apk/res/android" >
    <ScrollView
        android:id="@+id/scrollView_liab_ra_flipper_04"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <RelativeLayout
            android:id="@+id/linearLayout_liab_ra_flipper_04"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/someTextView"
                android:text="Something" />

            <!-- This relative layout should be removable -->
            <RelativeLayout
                android:id="@+id/vg_liab_ra_04_flipper_car_container_visible"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/someTextView" >

                <TextView
                    android:id="@+id/tv_1"
                    style="@style/WhiteFormText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="15dp"
                    android:layout_marginTop="2dp"
                    android:text="@string/licence_plate_counter" >
                </TextView>

                <EditText
                    android:id="@+id/et_1"
                    style="@style/WhiteFormField"
                    android:layout_below="@+id/tv_1"
                    android:hint="@string/licence_plate_hint" >
                </EditText>
            </RelativeLayout>

            <!-- This textview is not visible if relative layout is gone -->
            <TextView
                android:id="@+id/tv_liab_ra_04_flipper_mandat"
                style="@style/WhiteFormTextHint"
                android:layout_below="@+id/vg_liab_ra_04_flipper_car_container_visible"
                android:layout_marginBottom="15dp"
                android:text="@string/mandatory_field" >
            </TextView>
        </RelativeLayout>

    </ScrollView>
</merge>

Javaコード:

 private void hideCar() {      

   if (!accident.getParticipant(0)) {
        rlCarContainer.setVisibility(View.GONE);

    } else {
        rlCarContainer.setVisibility(View.VISIBLE);

    }

}
4

1 に答える 1

1

必要なことを行う最も簡単な方法LinearLayoutは、ルートの代わりに使用することです..必要に応じRelativeLayoutて非表示にした後、子ビューが再配置されますRelativeLayout..それが必要ない場合は、ここandroid:layout_alignWithParentIfMissingTextView参照して使用できますドキュメンテーション。それはあなたが望むように正確には機能しませんが、問題を解決するのに役立つかもしれません:)。

于 2012-06-24T21:10:26.407 に答える