如何在没有填充的情况下将默认Android填充设置为元素?

时间:2012-10-03 19:21:59

标签: android padding

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

现在,我可以通过试用和错误从CheckBox中获取填充的值(固定)。但我的问题是如何以动态的方式设置它 - 即如果在Android 7.0中,CheckBox的填充将是“20sp”而我设置为“10sp”(因为它现在是10sp - 我正在制作它)然后我的两个小部件将使用不同的填充。

我希望有一个一致的填充。那么如何设置"?android/default_padding"之类的内容来填充?

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

2 个答案:

答案 0 :(得分:1)

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

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

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

android:padding="@dimen/default_padding"

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

答案 1 :(得分:1)

我在API级别10(以及其他所有Android平台)上查找了它,Android使用带有预定义填充的9-Patch图像(在Selector中没有声明填充),例如:我把复选框弄好了,就像这个贴纸一样:左,右:6dp;顶部,底部:12dp。默认按钮的填充为10dp;所以据我所知,没有默认的填充。但大多数情况下10dp是好的。此外,它实际上取决于您的设备的屏幕尺寸。您必须像Daniel建议的那样声明自己喜欢的填充。例如:在您的值文件10dp和值 - 大可能是15。

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

enter image description here