Как программно изменить видимость макета
Существует способ изменить видимость View, но как я могу программно изменить видимость макета, определенного в XML? Как получить макет объекта?
<LinearLayout
android:id="@+id/contacts_type"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone">
</LinearLayout>
5 ответов
Посмотри на View.setVisibility(View.GONE / View.VISIBLE / View.INVISIBLE)
,
Из документации API:
public void setVisibility(int visibility)
С тех пор: API Уровень 1
Установите включенное состояние этого представления.
Связанные атрибуты XML: android: видимостьПараметры:
visibility
Один из ВИДИМЫХ, НЕВИДИМЫХ или УДАЛЕННЫХ.
Обратите внимание, что LinearLayout
это ViewGroup
который в свою очередь является View
, То есть вы можете очень хорошо назвать, например, myLinearLayout.setVisibility(View.VISIBLE)
,
Это имеет смысл. Если у вас есть опыт работы с AWT/Swing, вы узнаете это из Container
а также Component
, (A Container
это Component
.)
TextView view = (TextView) findViewById(R.id.textView);
view.setText("Add your text here");
view.setVisibility(View.VISIBLE);
Используйте этот макет в вашем XML-файле
<LinearLayout
android:id="@+id/contacts_type"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone">
</LinearLayout>
Определите ваш макет в файле.class
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.contacts_type);
Теперь, если вы хотите обувать этот макет, просто напишите
linearLayout.setVisibility(View.VISIBLE);
и если вы хотите, чтобы скрыть макет, просто напишите
linearLayout.setVisibility(View.INVISIBLE);
programaticaaly использовать это:
view.setVisibility(View.GONE); //For GONE
view.setVisibility(View.INVISIBLE); //For INVISIBLE
view.setVisibility(View.VISIBLE); //For VISIBLE
Вы можете изменить видимость макета точно так же, как и для обычного просмотра. Используйте setVisibility(View.GONE) и т. Д. Все макеты являются просто Views, они имеют View в качестве родителя.