簡體   English   中英

字體大小無法適應不同的屏幕大小

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM