我的平板电脑应用程序针对不同的UI模式有一个活动和几个不同的布局 - 这些布局中的每一个都使用<片段>用不同的片段填充UI的标签(在活动中调用setContentView以切换模式)。
如何以这种方式加载新片段时,如何使用过渡动画淡入?现在,在片段加载时,在模式之间切换会产生闪烁效果。
谢谢!
答案 0 :(得分:1)
我之前从未使用过片段,但没有理由让片段影响我的解决方案。基本上,您实现了一个动画,以显示在某个东西的第一个布局上。最好的例子是listview
首先,您需要添加一些额外的动画文件,添加到res / anim
<强> layout_controller.xml:强>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:delay="50%"
android:animation="@anim/bounce" />
这定义了一个铺设东西的过程 然后, bounce.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/bounce_interpolator">
<translate
android:fromXDelta="40%"
android:toXDelta="0%"
android:fromYDelta="0%"
android:toYDelta="0%"
android:duration="900"/>
<alpha
android:fromAlpha="0"
android:toAlpha="1"
android:duration="1000"
android:interpolator="@android:anim/linear_interpolator"
/>
此动画会将项目反弹,同时也将其淡入。
现在,如果您有一个列表视图,请在其中设置此XML(适用于textview,imageview等)
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:persistentDrawingCache="animation|scrolling"
android:layoutAnimation="@anim/layout_controller"
/>
layoutAnimation字段告诉listview引用布局控制器如何显示listview。首次绘制列表视图时,每个项目应该连续反弹。您可以通过更改bounce.xml或通过更改layout_controller中定义的50%延迟来更改等待时间,从而轻松自定义动画。