2

假设我刚刚添加了两个标准小部件——CheckBox 和 CheckedTextView。第一个有很好的、清晰的填充,尽管我没有设置任何填充,并且 .xml 文件中没有设置填充。另一个没有任何填充。

现在,我可以通过反复试验从 CheckBox 中获取填充的值(固定)。但我的问题是如何以某种动态方式设置它——即如果在 Android 7.0 中 CheckBox 的填充将是“20sp”并且我设置了“10sp”(因为它现在是 10sp——我正在弥补)那么我的两个小部件将具有不同的填充。

我想有一个一致的填充。那么如何设置"?android/default_padding"填充?

澄清:我有兴趣使用系统默认填充,而不是对我在所有小部件上组成的相同值进行硬编码。

4

2 回答 2

1

我在 API 级别 10(以及所有其他 Android 平台上)中为您查找了它:左,右:6dp;顶部,底部:12dp。默认按钮的内边距为 10dp;所以据我所知,没有默认填充。但在大多数情况下,10dp 是好的。此外,它实际上取决于您设备的屏幕尺寸。您必须像 Daniel 建议的那样声明自己喜欢的填充。例如:在您的 Values 文件 10dp 和 values-large 中可能是 15。

编辑:这是 Android 2.3.3 上 mdpi 的默认复选框:

在此处输入图像描述

于 2012-10-03T19:53:23.553 回答
1

您可以在资源中创建一个名为 dimens.xml 的 xml 文件,然后添加如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<dimen name="default_padding">10dp</dimen>
</resources>

然后你从你的布局中调用这样的东西:

android:padding="@dimen/default_padding"

我认为这是一种一致的工作方式:) 祝你好运!!!

于 2012-10-03T19:29:38.253 回答