Посмотреть макет после установки видимости

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);

    }

}
  • 0
    Единственный дочерний элемент вашего RelativeLayout - это TextView. Если вы переместите TextView из RelativeLayout, это решит вашу проблему, но тогда я не понимаю, почему вы захотите установить видимость пустого RelativeLayout на «ушел».
  • 1
    Чтобы было ясно: вы устанавливаете vg_liab_ra_04_flipper_car_container_visible видимость для GONE не linearLayout_liab_ra_flipper_04 ? Вы все еще можете увидеть TextView someTextView ?
Показать ещё 10 комментариев
Теги:
relativelayout

1 ответ

1

Самый простой способ сделать то, что вы хотите, - использовать LinearLayout вместо корневого RelativeLayout.. детские представления будут перестроены после того, как вы спрячете RelativeLayout так, как вы хотите. Если вы этого не хотите, вы можете использовать android:layout_alignWithParentIfMissing в TextView см. здесь документацию. Это не будет работать точно так, как вы хотите, но это может помочь вам решить проблему :).

Сообщество Overcoder
Наверх
Меню