是否有一种简单的方法可以在Android Studio预览中的ViewSwitcher中切换显示的视图,或者是一次一个地替换子视图的XML?
答案 0 :(得分:6)
不幸的是,Android Studio上没有XML属性或任何选项可以帮助您定义显示的视图。
ViewFlipper
的类似问题被问到here(它们都是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文件中查看布局。
答案 1 :(得分:1)
首先,如果您正在考虑使用ViewSwitcher
,只是为了展示ProgressDialog
,那么您不会以应有的方式进行展示。
ViewSwitcher
通常用于更改Activity
的布局。在您的情况下,ProgressDialog
不是View
的{{1}},而只是小助手,表示某个进程正在执行。因此,简而言之Activity
应该用于您想要更改ViewSwitcher
完整屏幕的地方。
在您的情况下,您可以将布局划分为较小的布局文件,并使用Activity
或merge
对其进行分组。
为所有不同的屏幕创建单独的文件,这些文件将定义include
的用户界面并使用Activity
对其进行分组。
举个例子,我们可以使用include
-
第一个屏幕 - my_product.xml - 此布局将定义有关产品的内容。
第二个屏幕 - about_us.xml - 此布局将描述您的公司。
第三个屏幕 - thank_you.xml - 感谢您的用户。
将它们分组到任何容器ViewSwitcher
。
View
答案 2 :(得分:0)
ViewPager可以轻松解决您的问题。
ViewPager(它可以容纳多个视图)。 ViewPager是View对象的Array Container。您可以使用ViewPager旋转(就像执行数组旋转一样)或其他技术来交换内部视图。并且,您可以基于Factory DP创建每个内部视图,以便减少处理(共享公共资源)。
他们在此处提到了滑动视图(注意:如果您不想使用默认的ViewPager旋转,则只需要自己的视图滑动技术)。
创建滑动:https://developer.android.com/training/implementing-navigation/lateral.html
ViewPager屏幕幻灯片: https://developer.android.com/training/animation/screen-slide.html