Как скрыть сразу несколько представлений?

, у меня есть относительный вид компоновки, а также 3 дочерних вида. Я пытаюсь скрыть их все в коде, установив для относительного макета НЕВИДИМЫЙ с помощью setVisibility. Забавно то, что когда я использую setVisibility (View.INIVISIBLE), скрывается только первый дочерний элемент, а не два других. Так что я немного сбит с толку - если я сделаю родительский вид невидимым, разве это не изменит видимость всех дочерних элементов или не оставит их в покое?

Не стесняйтесь указать мне на справочную страницу, которая объясняет это - я могу Ничего не нахожу.

Обновление: я пробовал установить для него View.GONE, но происходит то же самое, за исключением того, что двое дочерних элементов, которые остаются видимыми, немного сдвигаются.

Вот соответствующий XML:

<RelativeLayout
    android:id="@+id/optionsform"
    android:layout_width="fill_parent"
    android:padding="8dp"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/tvoptions"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="@string/tvoptions"
        android:textColor="#f000"
        android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold"/>

    <TextView
        android:id="@+id/tvdictionary"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/tvoptions"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="16dp"
        android:text="@string/dictionary"
        android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#f000" />

    <Spinner
        android:id="@+id/dictionary"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/tvdictionary"
        android:layout_alignParentRight="true"
        android:layout_marginTop="-10dp"
        android:layout_marginLeft="6dp"
        android:layout_toRightOf="@+id/tvdictionary" />

</RelativeLayout>

А вот соответствующий код, который я использую:

    public void onClick(View v) {
        //Toggle viewing of options, using "if" in case it is set to View.GONE 
        View view = findViewById(R.id.optionsform);
        if (view.getVisibility() == View.VISIBLE) 
            view.setVisibility(View.INVISIBLE);
        else
            view.setVisibility(View.VISIBLE);
    }
6
задан Matt Parkins 18 November 2011 в 16:49
поделиться