自定义ImageView在Nexus 7上自动调整大小

Soh*_*ham 5 android android-imageview

我有一个覆盖整个屏幕的自定义ImageView.该图像来自可绘制文件夹之一,drawable-hdpi,drawable-xhdpi,drawable-sw600dp等,每个密度桶都有单独的图像.

到目前为止,该应用程序在xhdpi和hdpi设备上工作正常,当我在Nexus 7上测试它时会出现问题.存储在sw600dp文件夹中的图像大小为1600x1600,应足以直接在屏幕上绘图(无需缩放),但是当我运行应用程序时,屏幕显示完全空白,我收到以下警告:

03-04 16:25:46.338:W/OpenGLRenderer(25457):位图太大而无法上传到纹理中(2130x2130,max = 2048x2048)

由于某种原因,1600x1600位图缩放到2130x2130虽然我没有手动缩放到任何地方(没有矩阵后缩放或scaleX/scaleY应用)

有关为什么会发生这种情况的任何想法?请提供一个解决方案,并解释为什么会发生这种情况.

Kun*_*xag 7

由于Nexus 7是tvdpi,它会将每个图像缩放到原始值的1.33.所以1600变为(1600*1.33)= ~2130.它不会从sw600dp文件夹中显示它.

更多信息: - http://developer.android.com/guide/practices/screens_support.html

您可以使用与其他每个7英寸平板电脑相同的图像(即1024*600分辨率).