【问题标题】:Padding issue on Nexus 7 tabletNexus 7 平板电脑上的填充问题
【发布时间】: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


【解决方案1】:

在 XML 可绘制对象中生成 stroke 时,这似乎是一个错误。经过多次尝试,我将范围缩小到了这一点;即使以像素为单位指定,它似乎在形状的下侧和右侧也使笔触大小不正确。如果我只是将笔画宽度更改为2dip 而不是1dip(所有其他内容保持原样),结果如下:

这是我用作后图背景的border.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">

    <stroke
            android:width="2dp"
            android:color="#59000000"/>

    <padding
            android:bottom="1dp"
            android:left="1dp"
            android:right="1dp"
            android:top="1dp"/>

</shape>

同样,这只是你的笔画宽度扩大了。好消息是,这根本不会改变预期结果,因为填充保持不变。事实上,您可以将stroke 标记更改为solid 并且仍然得到相同的结果(但是,如果您的图像包含透明度,您会在透明区域看到纯色背景)。

试试这个;告诉我它是如何为你工作的!

【讨论】:

  • 这确实为我工作,为什么它工作令人费解:) 但它确实有效,谢谢!
  • 不客气。 :) 我很高兴它奏效了,但我也希望我能确切地知道原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多