如何使用RemoteViews在Android小部件中旋转图像

时间:2017-05-30 22:00:55

标签: android android-studio widget

根据我的理解,您无法使用RemoteViews

在窗口小部件中旋转图像

由于他们还描述了模拟时钟小部件, 你如何使用自己的图像做一个简单的模拟时钟小工具?

我在我的小部件中设置了所有内容, 我也有一个每分钟运行的计时器, 我只需要相应地旋转分钟拨盘和小时拨号

环顾四周,无法找到答案

在Widget中怎么可能?

我知道我实际上可以为分钟拨号提供60张图像,为小时拨盘提供60张图像,然后以交换方式进行交换......但这只是一种矫枉过正的行为...... 是不是有办法实现分配给人们正在做的这个简单的事情?

2 个答案:

答案 0 :(得分:1)

您可以旋转图像并将其指定给ImageView。 我在Kotlin留下了一个应该帮助你的片段。

val bitmap = BitmapFactory.decodeResource(context.resources, R.drawable.minute_hand)
remoteViews.setImageViewBitmap(R.id.imageView, bitmap.rotated(angle))

旋转功能是:

fun Bitmap.rotated(angle: Float): Bitmap {
    val source = this
    val matrix = Matrix()
    matrix.postRotate(angle)
    return Bitmap.createBitmap(source, 0, 0, source.width, source.height, matrix, true)
}

答案 1 :(得分:0)

不是你的问题的答案,但有许多模拟时钟的实现 您可以尝试看起来非常可定制的this

修改:

我从未使用过小部件。看起来你不能再在里面实现自定义视图了。

检查此答案:How to set time to Android AnalogClock in app widget?