android - 如何创建旋转的自定义加载图像?
问题描述
我正在尝试创建自定义加载图像。我使用这个网站从我的 svg 创建 gif,但如果你不付费,输出分辨率会非常糟糕。
我想有这样的效果:
现在我有一个带有旋转图像的自定义进度条:
<ProgressBar
android:id="@+id/updateProgressBar"
android:layout_width="40dp"
android:layout_height="40dp"
android:drawingCacheQuality="high"
android:indeterminateBehavior="repeat"
android:indeterminateDrawable="@drawable/loading"
android:indeterminateDuration="2000"
/>
加载.xml:
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360"
android:drawable="@drawable/loading_image" >
</rotate>
这是结果:
解决方案
在您的 loading.xml 上使用插值器来加速初始动画并在结束时减速。
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
此外,您不需要添加一个Progressbar
来使其旋转。打电话
view.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.loading));
您的视图几乎可以是任何视图(ImageView
例如 )。
推荐阅读
- sqlite - 触发器创建一个部分唯一的标识符
- python - 在 Python 中创建 DataFrame 后应用转换器字典中的转换
- flutter - Flutter toList() 正在制作一个列表
类型 - python - 尝试连接到 SAP HANA 时 Python 停止工作
- c# - 如何告诉 TeamCity / MS Build 在哪里找到 SignTool.exe?
- ios - iOS:搜索栏在带有表格视图的视图控制器中消失
- python - 在 Django 中使用 unittest 对 REST API 进行功能测试
- android - Android 10 中的不同 Android ID
- gstreamer - 在 C 中使用 tee 和文件接收器调试 Gstreamer 管道
- google-sheets - 拆分、转置和打印多条记录