Android Kotlin Widget 在列表视图中为矢量 xml 图像设置动画

问题描述 投票:0回答:0

这是我想要的效果:

我有以下图片:

我必须在小部件中使用此图像 (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()
以了解如何插入图像。

你能帮我一下吗?

java android xml kotlin imageview
© www.soinside.com 2019 - 2024. All rights reserved.