Есть ли простой способ переключения между отображаемым представлением в ViewSwitcher в предварительном просмотре Android Studio или является единственным способом поменять местами XML для под-представлений по одному за раз?
Просмотр ViewSwitcher в AndroidStudio
Ответ 1
К сожалению, в Android Studio нет никаких атрибутов XML или какой-либо опции, которые могут помочь вам определить отображаемое представление.
Аналогичный вопрос для ViewFlipper
был задан здесь (оба они являются прямыми подклассами ViewAnimator
).
Однако , если и только если ваши представления большие как экран, вы можете использовать тег include
, например:
<ViewSwitcher
android:id="@+id/myViewSwitcher"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
layout="@layout/first_view">
</include>
<include
layout="@layout/second_view">
</include>
</ViewSwitcher>
Затем вы можете увидеть свои макеты в отдельном файле XML.
Ответ 2
Прежде всего, если вы думаете использовать ViewSwitcher
, просто для показа ProgressDialog
, то вы не делаете это так, как это должно быть.
ViewSwitcher
обычно используется для изменения макета Activity
. В вашем случае ProgressDialog
не является View
вашего Activity
, а просто небольшим помощником, который указывает на какой-то процесс. Итак, коротко ViewSwitcher
следует использовать где-нибудь, где вы хотите изменить полный экран Activity
.
В вашем случае вы можете разделить макет на более мелкие файлы макета и сгруппировать их с помощью merge
или include
.
Создайте отдельные файлы для всех разных экранов, которые будут определять пользовательский интерфейс вашего Activity
и группировать их с помощью include
.
В качестве примера мы можем создать небольшое приложение для введения, используя ViewSwitcher
-
-
Первый экран - my_product.xml - этот макет определит что-то о продукте.
-
Второй экран - about_us.xml - этот макет будет описывать вашу компанию.
-
Третий экран - thank_you.xml - сказать спасибо вашим пользователям.
Группируйте их в любом контейнере View
.
<ViewSwitcher
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
layout="@layout/my_product"/>
<include
layout="@layout/about_us"/>
<include
layout="@layout/thank_you"/>
</ViewSwitcher>
Ответ 3
ViewPager может легко решить ваши проблемы.
ViewPager (он может содержать несколько видов). ViewPager - это вид контейнера массива для объектов View. У вас может быть поворот ViewPager (например, вращение массива) или другие методы для замены внутри видов. И вы можете создавать свои внутренние представления на основе Factory DP, так что происходит меньше обработки (разделяет общие ресурсы).
Они упомянули здесь прокручивание (Примечание: вам понадобятся собственные методы просмотра, если вы не хотите использовать поворот по умолчанию ViewPager).
Создание прокрутки: https://developer.android.com/training/implementing-navigation/lateral.html
ViewPager для слайдов экрана: https://developer.android.com/training/animation/screen-slide.html