J.D*_*Doe 6 xml animation android scale android-6.0-marshmallow
我有一个动画列表xml drawable anim_progress.xml:
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="100">
<scale android:drawable="@drawable/frame_1" android:scaleGravity="center"/>
</item>
<item android:duration="100">
<scale android:drawable="@drawable/frame_2" android:scaleGravity="center"/>
</item>
<item android:duration="100">
<scale android:drawable="@drawable/frame_3" android:scaleGravity="center"/>
</item>
.
.
.
</animation-list>
Run Code Online (Sandbox Code Playgroud)
我使用scale标签,因为图像frame_x.png比容器视图大.其原因是能够适应大多数屏幕尺寸.
我使用这个框架动画作为indeterminateDrawable我的自定义ProgressBar:
<ProgressBar
android:layout_width="match_parent"
android:layout_height="match_parent"
android:indeterminateOnly="true"
android:indeterminate="true"
android:foregroundGravity="center"
android:indeterminateDrawable="@drawable/anim_progress"
/>
Run Code Online (Sandbox Code Playgroud)
它在Marshmallow之前的Android版本中运行正常.我检查了模拟器和设备.但在棉花糖中,它什么也没有显示出来.空白的空白空间.以及Android Studio中的预览窗格.
如果我scale从中移除标签animation-list,它在Marshmallow中运行良好,并以正确的方式进行缩放,但似乎在其他Android版本中被裁剪.
我知道我可以在drawable-v23文件夹中创建单独的文件,之前我想问一下是否有人可以通过xml分享其他技术来缩放Marshmallow中可绘制的进度条框架动画.
我遇到了同样的问题。我不知道为什么它在 Marhmallow 中不起作用,但解决方法是使用旋转作为 intermediatDrawable 而不是动画列表。
像这样的东西:
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="250"
android:fromDegrees="359"
android:toDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:interpolator="@android:anim/linear_interpolator"
android:drawable="@drawable/icn_refresh">
</rotate>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
677 次 |
| 最近记录: |