如果根据屏幕尺寸需要android:padding="120dip"
不同,我不想创建其他几个xmls,该怎么办?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/right_back"
android:orientation="horizontal"
android:padding="120dip" >
答案 0 :(得分:7)
如果您想要一个字符串资源的不同值 - 基于不同的屏幕,您可以创建不同的values
文件夹,就像我们拥有drawable
个文件夹一样:
在所有文件夹中,创建 dimens.xml ,并确保在每个文件中给出相同的变量名称但不同的值。
值文件夹中的 dimens.xml 类似于:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="padding_val">100dp</dimen>
</resources>
现在,您只需要提及android:padding="@dimen/padding_val"
。
但这仅适用于values
文件夹,创建相同的dimens.xml文件并放置您想要的值。
答案 1 :(得分:0)
Dip(与密度无关的像素)与屏幕尺寸无关,这意味着,如果您定义了120dip的边距,则每个屏幕尺寸上的边距将相等。
DIP表示:px *密度因子,例如:在ldpi上,因子是1.0,在mdpi 1.5和hdpi 2.0
因此,如果你想要100d的余量,它将是ldpi上的100px,mdpi上的150px和hdpi上的200px,这在视觉上是相同的大小。