如何使用 RemoteViews 在 android 小部件中旋转图像
how to rotate an image in android widget using RemoteViews
据我了解,您无法使用 RemoteViews 在小部件中旋转图像
由于他们还 depricated 模拟时钟小部件,
你如何使用自己的图像制作简单的模拟时钟小部件?
我的小部件中已设置好所有内容,
我还有一个每分钟运行一次的计时器,
我只需要相应地旋转分钟盘和小时盘
一直在四处寻找,找不到这个问题的答案
Widget 中怎么可能?
我知道我实际上可以有 60 张图像用于分钟表盘 + 60 张图像用于小时表盘,然后以编程方式交换它们..但这只是一个矫枉过正......
难道没有一种方法可以实现很多人正在做的这个简单的事情吗?
不是你问题的真正答案,但是有很多模拟时钟的实现。
你可以试试this 看起来很可定制
编辑:
我从未使用过小部件。看起来你不能再在里面实现自定义视图了。
检查这个答案:How to set time to Android AnalogClock in app widget?
您可以旋转图像并将其分配给 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)
}
据我了解,您无法使用 RemoteViews 在小部件中旋转图像
由于他们还 depricated 模拟时钟小部件, 你如何使用自己的图像制作简单的模拟时钟小部件?
我的小部件中已设置好所有内容, 我还有一个每分钟运行一次的计时器, 我只需要相应地旋转分钟盘和小时盘
一直在四处寻找,找不到这个问题的答案
Widget 中怎么可能?
我知道我实际上可以有 60 张图像用于分钟表盘 + 60 张图像用于小时表盘,然后以编程方式交换它们..但这只是一个矫枉过正...... 难道没有一种方法可以实现很多人正在做的这个简单的事情吗?
不是你问题的真正答案,但是有很多模拟时钟的实现。
你可以试试this 看起来很可定制
编辑:
我从未使用过小部件。看起来你不能再在里面实现自定义视图了。
检查这个答案:How to set time to Android AnalogClock in app widget?
您可以旋转图像并将其分配给 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)
}