我在appwidget中有代码,我希望在主屏幕上手机的方向发生变化时运行,就像键盘翻转时一样。我想在appwidget中的imageview中更改一个图像。我不能使用链接到方向的不同布局(即“layout”和“layout-land”),因为在运行时我不知道图像文件的名称,它是在运行时创建的。反正是否只有在显示主屏幕时触发代码才能运行,我的appwidget是否处于活动状态且方向刚刚改变了?
我可以收听一个configuration_change广播但是每次手机切换到横向或纵向时都会运行,我只希望在显示主屏幕时发生。我想不出有什么好的方法在android上做到这一点。感谢
赖安
答案 0 :(得分:3)
对于在运行时生成的图像,没有一种好方法。
一种方法是构建图像的两个版本,并具有两个可见的ImageView,具体取决于所使用的布局/布局。 (因此RemoteViews会更新两个ImageViews,但只有正确的ImageViews可见。)
答案 1 :(得分:0)
答案 2 :(得分:0)
基本上从Activity中的onConfigurationChanged()更新小部件,并在清单中为该Activity添加android:configChanges =“orientation”。不好的是,这并未涵盖所有用例。