在Android的dimen文件中定义边距和填充。

3

我正在dimen文件中定义边距或填充

<resources xmlns:tools="http://schemas.android.com/tools">
 <dimen name="dp_12">12dp</dimen>
</resources>

并在布局中使用它

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/dp_12"
        android:orientation="horizontal"/>

但是似乎它不可重复使用,因为将来如果我想将其更改为16dp,则必须在dimen文件中定义dp_16,并在布局文件中的每个位置都更改dp_12。有更好的方法吗?


1
你可以使用**SDP - 一个可扩展的大小单位**。 - undefined
2个回答

2

我很赞成在整个应用程序中使用通用的边距。

  • 将通用空间尺寸设为如下方式,这样您就可以在边距、填充或任何间距属性上设置它们。
  • 如果您将其命名为12_dp,那么创建它就没有意义。

比如

<dimen name="space_large">16dp</dimen>
<dimen name="space_small">8dp</dimen>

通过这种方式,您将在整个应用程序中具有相同的边距或填充。

0

在您的应用程序中创建样式,并在不同的布局中使用它,如果您想要的话。例如,您可以使用具有12dp边距的样式,以及其他具有16dp边距的样式。如果您不想使用它。

一个提供新尺寸单位 - sdp(可缩放dp)的Android SDK。这个尺寸单位会随着屏幕大小进行缩放。它可以帮助Android开发人员支持多个屏幕。

这是为小部件准备的 https://github.com/intuit/sdp

还有用于字体大小的: https://github.com/intuit/ssp


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接