2016-07-19 11 views
3

私は自分のresフォルダ内に4つの異なる値のフォルダがあり、その中に異なるdimens.xmlがあります。各dimens.xmlファイルには異なる値があります。私が得たフォルダは、次ました:私は私のアプリを実行したときに異なるAndroid画面で異なるdimensリソースを正しく使用する方法

values/dimens.xml 
values-sw320dp/dimens.xml 
values-sw480dp/dimens.xml 
values-sw600dp/dimens.xml 

問題は、使用される値は、私はGoogleのネクサス5エミュレータでそれを実行した場合でもvalues-sw320dp/dimens.xmlに保存されているdimens.xml値であると思われます。

使用例はこれです:私は間違っ

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical" 
    android:text="Account " 
    android:textSize="@dimen/common_textSize_n" /> 

何をしているのですか? さまざまな画面サイズに異なる値を使用する適切な方法は何ですか?

ご協力いただければ幸いです。どうもありがとうございました!

この質問に複数の重複があるようであることをお詫び申し上げます。私は既に質問された質問に対する答えを見つけられませんでした。

答えて

1

各フォルダに異なる値を設定する必要があります。ディメンションのいずれかが欠落している場合は、dimens.xmlがデフォルトのものになります。それ以外の場合は、画面サイズに応じた値が使用されます。何をやっていることは正しいこと、またあなたがMDPIのためのより多くのdimensを追加することができ、xhdpi、hdpi、xhdpiなど

1

例えば値-W MAX_SIZE DPに

をフォルダ名の名前を変更します: -

  • 値-w320dp
  • 値-w600dp
  • 値-w820dp

は、すべてのフォルダには、すなわちdimens.xmlつのファイルを持っています。 レイアウトファイルで "feed_title_size"が使用されている場合の例を挙げます。 このdimenでtextSizeを設定したいが、画面の解像度によって異なる。すべての解像度フォルダ(たとえば、値-w320dp)にdimens.xmlファイルを作成して を作成し、resourcesタグ内に「feed_title_size」という名前のdimen属性を作成する必要があります。 "feed_title_size"は複数のdimens.xmlファイルに存在し、適切な値は画面の解像度に基づいて自動的に選択されます。ここで

は値-w320dpフォルダ内のdimens.xmlは次のようになります:ここで

<resources> 
    <dimen name="feed_name_handle_width">100dp</dimen> 
</resources> 

値-w640dpフォルダ内のdimens.xmlは次のようになりますされています。ここでは

<resources> 
    <dimen name="feed_name_handle_width">150dp</dimen> 
</resources> 

はオリジナルです値フォルダにあるdimens.xmlファイル。このファイルはデフォルトファイルです。ここで

<resources> 
    <dimen name="feed_text_width">50dp</dimen> 
</resources> 

あなたのTextView

<android.support.v7.widget.AppCompatTextView 
    android:layout_width="wrap_parent" 
    android:layout_height="wrap_content" 
    android:textSize="@dimen/feed_text_width" /> 
+0

が含まれているレイアウト・ファイルには、ご回答の先生ありがとうございますが、なぜ私はそれをしなければならないでしょうか?あなたはそれを説明してもらえますか? –

+0

私は答えを更新しました。私が言及したフォルダ名は正しいものであり、間違っています。 –

+0

ありがとう、私は私のプロジェクトに適用されます。乾杯! –

関連する問題