在使用Android 4+的HTC屏幕旋转后,可绘制的限定符,位图没有正确更改

时间:2012-11-29 13:18:20

标签: android rotation drawable htc-android

我在HTC Sensation和HTC One S上有drawables的问题。

我在drawable-nodpi文件夹中有图形:

icon_l.png
icon_m.png

在drawable-hdpi文件夹中,我有一个带有代码的文件icon.xml:

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/icon_l" />

在drawable-land-hdpi文件夹中,我有一个带有代码的文件icon.xml:

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/icon_m" />

在drawable文件夹中,我有选择文件button.xml,代码为:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="true" android:drawable="@drawable/icon_pressed" />
  <item android:drawable="@drawable/icon" />
</selector>

在布局中我有:

<ImageButton android:src="@drawable/button"/>

几乎所有的手机和平板电脑都能正常运行:风景图形较小,当我回到肖像图形时,图形再次变大;

但不是HTC感觉和HTC one S:当我旋转手机时,这款手机上的图形会随机加载。

我想这可能是任何缓存? 我尝试将setContentView用于其他布局并再次重新加载正确的布局,但它不起作用。

1 个答案:

答案 0 :(得分:1)

我能够在Sensation运行的股票ICS Android上复制此行为。到目前为止,我找到的唯一解决方法是在每个HDPI文件夹中添加一个额外的button.xml副本。