2014-07-10 43 views
1

如果我有一個表格佈局,說2行和2列。每個象限表格框都有靜態文本,如「box_11」,「box_12」,「box_21」,「box_22」。我希望文字大小對於更大的屏幕更大,對於小屏幕更小。我希望文本根據屏幕大小進行縮放。我應該怎麼做?
我想我應該使用dimens.xml文件,定義:
<dimen name="activity_text_size">15sp</dimen>
那我應該用android:textSize="@dimen/activity_text_size"

我看到有不同的「價值」目錄,如價值觀,價值觀sw600dp,價值觀sw720dp_land,值-v11,values-v14在我的項目工作區中。每個'values'目錄都可以有一個dimens.xml文件。當你有多個文件時,選擇一個dimens.xml文件是什麼原因?Android:哪個dimens.xml文件選擇了什麼屏幕大小?

+1

說明這裏:http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch – matiash

+0

SP應該進行縮放(這就是它的意思,縮放獨立像素)。除非你真的需要它們,否則不要開始創建不同的維度。當您開始修復字體問題時,請專注於使用不同的密度限定符,而不是不同的佈局大小限定符。 –

回答

1

例如:

//成dimen.xml(爲600dp)

<resources> <dimen name="activity_text_size">15dp</dimen> </resources>

//成dimen.xml(sw720dp_land)

<resources> <dimen name="activity_text_size">20dp</dimen> </resources>

//成dimen.xml(w820dp)

<resources> <dimen name="activity_text_size">25dp</dimen> </resources>

對於任何大小的屏幕,您都應該使用特定的dimen.xml(您的大小目標)並使用相同的dimen.name。

0

參考@ matiash的鏈接和其他官方資源: - http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch - https://developer.android.com/guide/practices/screens_support.html

'標準' 被照顧密度:

一組六個廣義密度:

  1. ldpi(低)〜120dpi

  2. MDPI(介質)〜160dpi

  3. HDPI(高)〜240dpi

  4. xhdpi(超高)〜320dpi

  5. xxhdpi(超超高壓)〜480dpi

  6. xxxhdpi(特超超高壓)〜640dpi

當您使用多個dimen.xml文件創建應用程序時,將選擇適合該屏幕大小的應用程序。

如果在一個資源不提供針對特定屏幕密度的實例:

如果沒有匹配的資源可用,系統將使用默認的資源和規模向上或向下的需要相匹配的當前屏幕大小和密度

希望這有助於你:)