У меня проблема с настройкой видимости на относительный макет. У меня есть часть большого макета в 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);
}
}
Самый простой способ сделать то, что вы хотите, - использовать LinearLayout
вместо корневого RelativeLayout
.. детские представления будут перестроены после того, как вы спрячете RelativeLayout
так, как вы хотите. Если вы этого не хотите, вы можете использовать android:layout_alignWithParentIfMissing
в TextView
см. здесь документацию. Это не будет работать точно так, как вы хотите, но это может помочь вам решить проблему :).
vg_liab_ra_04_flipper_car_container_visible
видимость дляGONE
неlinearLayout_liab_ra_flipper_04
? Вы все еще можете увидеть TextViewsomeTextView
?