[英]Font Sizes Not Adjusting To Different Screen Sizes
我已經閱讀了有關使用“ match_parent”和“ wrap_content”以及“ sp”和“ dp”以及相對布局來支持不同屏幕尺寸的Android文章。 我已經實現了所有這些建議,但是當我在Eclipse的XML編輯器中將屏幕尺寸更改為平板電腦時,TextViews和Buttons的字體大小似乎並沒有改變以適應較大的尺寸。屏幕尺寸。 較小的屏幕(例如3.2英寸)也是如此。 有沒有人有什么建議?
從@CSmith的答案中大量借用(但不想編輯他的答案,因為它是有效的):
在布局中:
<TextView
android:id="@+id/yourID"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="My String"
style="@style/myStyle"
/>
values / styles.xml:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="myStyle">
<item name="android:textStyle">bold</item>
<item name="android:textColor">#FFFFFFFF</item>
<item name="android:textSize">@dimen/my_textsize</item>
<item name="android:shadowColor">#FF000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">-1</item>
<item name="android:shadowRadius">1</item>
</style>
</resources>
values / dimens.xml
<resources>
<dimen name="my_textsize">14sp</dimen>
</resources>
values-xlarge / dimens.xml
<resources>
<dimen name="my_textsize">20sp</dimen>
</resources>
這將使您在普通設備上具有14sp字體,在x大型設備上具有20sp字體,並且減少了在單獨的XML文件中的重復,因為唯一改變的是font-size。
您可以將將成為sp / dp尺寸的任何內容作為放置在dimens.xml文件中。
在布局中:
<TextView android:id="@+id/yourID" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="My String" style="@style/myStyle" />
values / styles.xml:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="myStyle">
<item name="android:textStyle">bold</item>
<item name="android:textColor">#FFFFFFFF</item>
<item name="android:textSize">14sp</item>
<item name="android:shadowColor">#FF000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">-1</item>
<item name="android:shadowRadius">1</item>
</style>
</resources>
values-xlarge / styles.xml:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="myStyle">
<item name="android:textStyle">bold</item>
<item name="android:textColor">#FFFFFFFF</item>
<item name="android:textSize">20sp</item>
<item name="android:shadowColor">#FF000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">-1</item>
<item name="android:shadowRadius">1</item>
</style>
</resources>
這將在普通設備上為您提供14sp字體,在x大型設備上為您提供20sp字體
使用密度獨立單位(例如“ sp”和“ dp”)的要點是,從用戶的角度來看,無論屏幕是什么,文本大小實際上都保持不變。
因此,當您在XML編輯器中更改屏幕時,顯示的屏幕區域會更改,但文本將保持相同的大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.