【发布时间】:2012-07-25 18:47:10
【问题描述】:
我注意到在运行 Android 4.1 的 Nexus 7 平板电脑上存在一些填充问题。具体来说,我有一个带有填充的背景可绘制对象,可以创建外部笔划:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<stroke
android:width="1dp"
android:color="#59000000" />
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
</shape>
这是用 1dp 白色内笔画补充的。所以它应该是围绕整个图像的方形 2 dp 边框:
我已经在实际的 nexus 设备和其他几个设备以及 7 英寸果冻豆模拟器上对其进行了测试:
首先,这是 4.1 7 英寸模拟器的工作版本:
外部的边框是均匀的,并围绕整个图像。这也是它在我拥有的所有其他设备上的工作方式。
Nexus 7:
灰色是背景色,但您可以看到右侧和底部的填充没有得到尊重。边框现在被图像遮住了。
如果重要的话,这些是 GridView 的子项。想知道是否有人看到过这些问题或对如何解决这些问题有想法。
【问题讨论】:
-
我不禁认为这是由于缩放,尽管使用 XML 可绘制对象我认为这并不重要......这是一个延伸,但这个可绘制对象是哪个文件夹? Nexus 7 是
tvdpi而不是mdpi,所以我倾向于认为这有某种关联。 -
好吧,我不知道 tvdpi 甚至存在。我目前将它存放在 drawable-nodpi 中,因为我认为它是在 xml 中定义的,不需要缩放。我只是对为什么它可以在模拟器而不是设备上工作感到困惑。
-
是的,即使是 Google 也建议不要担心 Nexus 7 的 tvdpi,但这看起来肯定是一个缩放问题。尝试将您的模拟器设置为 213 dpi(tvdpi 密度)并查看问题是否存在。
-
这就是选择内置 WXGA800-7in 时默认设置的值。哦,好吧,这似乎是一个特定于设备的问题。
-
这是一个渲染问题,将在未来的版本中修复。感谢您的报告,抱歉。请注意,这不是缩放问题。问题在于如何使用硬件加速来渲染描边矩形。
标签: android