在Android中扩展布局样式的最佳方法?

时间:2012-04-20 20:09:12

标签: android string layout styles scale

在处理应支持各种屏幕尺寸的应用时,我遇到了两难境地。通过样式缩放文本大小,宽度和高度等属性的最佳方法是什么? 最理想的是,我会喜欢这样的设置:

layout.xml:
  <YourView style="@style/Footer"/>

styles.xml:
  <style name="Footer"> 
    <item name="android:layout_height">@string/FooterHeight</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:background">@drawable/background_footer</item>
    <item name="android:layout_gravity">bottom</item>
  </style>

values/layout_vals.xml:
  <string name="FooterHeight">50dp</string>

values-sw600dp/layout_vals.xml:
  <string name="FooterHeight">80dp</string>

然后,为了更改View的高度,所有人必须做的是创建一个具有目标最小宽度的新文件夹并编辑* layout_vals.xml *的值,并将所有无关的垃圾留下宽度,重力,背景等单独,留下更清洁的设置和更容易编辑。

但是,我试过并发现这个确切的设置不起作用。现在,我只是将整个styles.xml复制到不同的'layout-swXXdp'文件夹中并交换出值。有没有人对项目设置的另一种方法提出建议,这种方法可以与之相比,或者更好,甚至更好?谢谢你的时间!

1 个答案:

答案 0 :(得分:1)

使用@ dimen资源而不是字符串 - 我认为它正是您正在寻找的(除了它将进入res / values-sw600dp)