在 Android Studio 中预览视图切换器
Preview ViewSwitcher in AndroidStudio
是否有一种简单的方法可以在 Android Studio 预览中的 ViewSwitcher 中的显示视图之间切换,或者是将 XML 替换为子视图的唯一方法一次?
遗憾的是,XML 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 文件中查看您的布局。
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
首先,如果您打算使用 ViewSwitcher
,只是为了显示 ProgressDialog
,那么您没有按照应有的方式使用它。
ViewSwitcher
一般用于改变 Activity
的布局。在你的情况下 ProgressDialog
不是你的 Activity
的 View
而它只是一个小帮手,它表明一些进程正在做。所以简而言之 ViewSwitcher
应该用在你想要改变 Activity
.
完整屏幕的地方
在您的情况下,您可以将布局分成更小的布局文件,并使用 merge
或 include
.
对它们进行分组
为所有不同的屏幕创建单独的文件,这些文件将定义 Activity
的 UI 并使用 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>
是否有一种简单的方法可以在 Android Studio 预览中的 ViewSwitcher 中的显示视图之间切换,或者是将 XML 替换为子视图的唯一方法一次?
遗憾的是,XML 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 文件中查看您的布局。
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
首先,如果您打算使用 ViewSwitcher
,只是为了显示 ProgressDialog
,那么您没有按照应有的方式使用它。
ViewSwitcher
一般用于改变 Activity
的布局。在你的情况下 ProgressDialog
不是你的 Activity
的 View
而它只是一个小帮手,它表明一些进程正在做。所以简而言之 ViewSwitcher
应该用在你想要改变 Activity
.
在您的情况下,您可以将布局分成更小的布局文件,并使用 merge
或 include
.
为所有不同的屏幕创建单独的文件,这些文件将定义 Activity
的 UI 并使用 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>