在 Android 的 dimen 文件中定义边距和填充
Posted
技术标签:
【中文标题】在 Android 的 dimen 文件中定义边距和填充【英文标题】:Define margins and padding in dimen file in Android 【发布时间】:2019-01-20 01:35:16 【问题描述】:我在 dimen 文件中定义边距或填充
<resources xmlns:tools="http://schemas.android.com/tools">
<dimen name="dp_12">12dp</dimen>
</resources>
并在布局中使用它
<LinearLayout
android:layout_
android:layout_
android:layout_marginTop="@dimen/dp_12"
android:orientation="horizontal"/>
但它似乎不可重复使用,因为如果我希望它更改为 16dp,那么我必须在 dimen 文件中定义 dp_16,并在我使用 dp_12 的任何位置更改布局文件中的每个位置。有没有更好的办法?
【问题讨论】:
你可以使用SDP - a scalable size unit 【参考方案1】:我很欣赏在整个应用程序中使用共同边距。
像这样制作公共空间维度,通过这种方式,您可以将它们设置在边距或填充或任何间距属性上。 另外,如果您命名为12_dp
,则创建它是没有意义的。
喜欢
<dimen name="space_large">16dp</dimen>
<dimen name="space_small">8dp</dimen>
通过这种方式,您将在整个应用中拥有相同的边距或内边距。
【讨论】:
【参考方案2】:在您的应用程序中创建样式并根据需要在不同的布局上使用它 例如,您可以使用边距为 12dp 的样式 和其他风格有 16 dp 如果你不想使用它
一个 android SDK,它提供了一个新的尺寸单位 - sdp (scalable dp)。此尺寸单位随屏幕尺寸缩放。它可以帮助 Android 开发者支持多屏。
它的wiget https://github.com/intuit/sdp
对于字体大小: https://github.com/intuit/ssp
【讨论】:
以上是关于在 Android 的 dimen 文件中定义边距和填充的主要内容,如果未能解决你的问题,请参考以下文章
Android 屏幕适配屏幕适配通用解决方案 ① ( 定义 dimens.xml 方案 | 使用 ScreenMatch 插件生成不同屏幕分辨率的 dimens.xml 配置 )
Android 屏幕适配屏幕适配通用解决方案 ① ( 定义 dimens.xml 方案 | 使用 ScreenMatch 插件生成不同屏幕分辨率的 dimens.xml 配置 )