1

さまざまな画面サイズをサポートする必要があるアプリを操作しているときに、ジレンマに陥りました。スタイルを介してテキストのサイズ、幅、高さなどの属性をスケーリングする最良の方法は何ですか? 最適には、次のようなセットアップが大好きです。

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>

次に、ビューの高さを変更するには、ターゲットの最小幅で新しいフォルダーを作成し、*layout_vals.xml* の値を編集して、幅、重力、背景などだけで、よりクリーンなセットアップと簡単な編集が可能になります。

ただし、この正確な設定が機能しないことを試してみました。今のところ、styles.xml 全体を別の「layout-swXXdp」フォルダーにコピーして、値を交換するだけです。これに匹敵する、またはさらに良い、これよりも優れたプロジェクトセットアップの別の方法について提案がある人はいますか? お時間をいただきありがとうございます!

4

1 に答える 1

1

文字列の代わりに @ dimenリソースを使用してください - まさにあなたが探しているものだと思います (res/values-sw600dp に入ることを除いて)

于 2012-04-20T20:17:52.647 に答える