【问题标题】:Standard paddings for custom preference自定义偏好的标准填充
【发布时间】:2011-12-22 01:44:13
【问题描述】:

我创建了一个自定义首选项,但它的填充看起来不像标准首选项的填充。有人知道如何在不玩数字的情况下添加它们吗?在蓝色背景的图片上是一个没有预设填充的新首选项。

在几台设备上测试后发现,在不同的设备上,标准填充是不同的。如果填充是手动设置的,则会导致 UI 不一致。

【问题讨论】:

    标签: android android-layout android-3.0-honeycomb


    【解决方案1】:

    这看起来像是重复的,这个问题的答案可能对你有帮助。

    Custom preference, targetSdkVersion="11": missing indent?

    【讨论】:

    • 抱歉取消勾选,它最终并没有解决我的问题。 CommonsWare 描述了自定义偏好扩展标准偏好时的示例。在他的例子中,它是 DialogPreference。在我的情况下,我想向自定义首选项添加不同的布局,因此我的首选项扩展了基本“首选项”类。尝试他的解决方案我没有得到我的偏好。
    【解决方案2】:

    Intent 左侧是一个图标的位置。首选项布局对内容有自己的边距。如果我膨胀自己的布局,我必须自己定义空格和边距,布局不能部分继承。 然而,Preference 有一个“widgetLayout”布局,它占据了偏好控件右侧的其余空间。这个空间可以根据首选布局进行定制。

    【讨论】:

    • 那么我怎样才能使左侧填充等于标准
    • 当我遇到问题时,我还没有发现如何继承标准填充。
    【解决方案3】:

    您通常希望保留默认视图元素,除非您有充分的理由更改它们。

    3.x 的填充有些不同,因为它使用了更大的屏幕。

    您可以尝试指定different layouts for different size screens 看看是否更适合您。

    要记住的重要一点是:设备 UI 默认值比您的默认值更重要。这不是 iOS。您正在将您的应用程序发送到野外,那里将有各种疯狂的屏幕尺寸,您应该对应用程序进行编程。

    顺便说一句,另一种选择是使用display-independent pixels 来指定您的尺寸,但用百分比和比率来描述事物几乎总是更好。

    希望这会有所帮助!

    【讨论】:

    • 我确实有充分的理由,我需要创建一个自定义首选项,该首选项的布局与 android 在其一组标准首选项中提供的布局不同。我希望我的自定义布局可以继承标准的偏好样式。制造商自定义 UI 并覆盖标准样式,我将无法在每台设备上测试我的自定义首选项布局以找到每个制造商的不同样式大小。不管我将使用什么像素或百分比都无法解决问题,标准首选项的缩进与自定义的缩进不同。
    猜你喜欢
    • 2019-05-19
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    相关资源
    最近更新 更多