У меня есть относительный вид компоновки, а также 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);
}