values-dimen 不同分辨率资源实现引用

今天遇到了一种情况,就是在不同分辨率下面出现了需要设定不同的距离,当时第一反映就是重新定义一个layout。但是,仅仅为了更改一个数值就复制那么多的代码,明显不合里。后来就想到干脆在不同的分辨率下创建不同的dimen好了。当然,如果你图片切的好的话,根本是不许要这么麻烦的。因为不同分辨率下面,如果你使用的dp,它会自动转化为px

更改如下

#    modified:   res/layout-port/simple_pad_vfive.xml
#    new file:   res/values-hdpi/funui_dimens.xml
#    new file:   res/values-xhdpi/funui_dimens.xml
#    new file:   res/values-xxhdpi/funui_dimens.xml

具体如下

创建不同分辨率目录

Calculator$ mkdir res/values-hdpi/;cd res/values-hdpi/;vim funui_dimens.xml

funui_dimens.xml内容如下

  1 <resources>
  2     <dimen name="equal_button_width">87.5dp</dimen>
  3     <dimen name="equal_button_margin_right">-0.5dp</dimen>
  4 </resources>

引用的地方如下

160         <com.android.calculator2.ColorButton
161             android:id="@+id/equal"
162             android:layout_marginRight="@dimen/equal_button_margin_right"
163             android:layout_width="@dimen/equal_button_width"
164             android:layout_height="158dp"
165             android:layout_weight="1"
166             myattr:textNumber="@string/equal" />
原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_values_150310143.html