这是我想要的效果:
我有以下图片:
我必须在小部件中使用此图像 (loading.xml),特别是它将成为列表视图的一个元素,我必须将其设置为动画,如 gif 中所示。
这是我使用的代码:
override fun getViewAt(position: Int): RemoteViews? {
val remoteView = RemoteViews(context!!.packageName, R.layout.list_row)
val listItem = listItemList[position]
if (listItem.reached!!)
remoteView.setImageViewResource(R.id.iv_circle, R.drawable.check)
else
remoteView.setImageViewResource(R.id.iv_circle, R.drawable.loading)
return remoteView
}
list_row.xml
...
<ImageView
android:id="@+id/iv_circle"
android:layout_width="30dp"
android:layout_height="30dp"
android:paddingLeft="2dp"
android:src="@drawable/loading" />
...
loading.xml
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="16dp"
android:viewportWidth="16"
android:viewportHeight="16">
<path
android:fillAlpha="0.2"
android:fillColor="#F5AF45"
android:pathData="m8,1.5a6.5,6.5 0 1 0 0,13a6.5,6.5 0 0 0 0,-13zm-8,6.5a8,8 0 1 1 16,0a8,8 0 0 1 -16,0z" />
<path
android:fillColor="#F5AF45"
android:pathData="m7.25,0.75a0.75,0.75 0 0 1 0.75,-0.75a8,8 0 0 1 8,8a0.75,0.75 0 0 1 -1.5,0a6.5,6.5 0 0 0 -6.5,-6.5a0.75,0.75 0 0 1 -0.75,-0.75z" />
</vector>
我试着查看文档:
https://developer.android.com/develop/ui/views/animations/drawable-animation#kotlin
https://developer.android.com/reference/android/graphics/drawable/AnimatedVectorDrawable
https://developer.android.com/reference/android/graphics/drawable/AnimationDrawable
但是我还没有找到制作动画的方法。
我认为即使旋转图像也足以得到结果。
但我认为它应该只在 xml 端完成,因为小部件的
kotlin
代码端非常有限。
我需要制作动画的图像在
listview
.
请参阅上面的代码
getViewAt()
以了解如何插入图像。
你能帮我一下吗?