Android字體大小自適應(yīng)不同分辨率的解決辦法
Android字體大小自適應(yīng)不同分辨率的解決辦法
今天有人問我,Android系統(tǒng)不同分辨率,不同大小的手機(jī),字體大小怎么去適應(yīng)呢?其實(shí)字體的適應(yīng)和圖片的適應(yīng)是一個道理的。
一、原理如下:
假設(shè)需要適應(yīng)320x240,480x320分辨率。在res目錄下新建文件夾values-320x240, values-480x320。然后在文件夾 values ,
values-320x240 和 values-480x320 下新建xml文件dimens.xml,該xml文件內(nèi)容如下:
vaules-320x240下的dimens.xml內(nèi)容如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="btnTextSize">18sp</dimen> </resources>
values-480x320 下的dimens.xml內(nèi)容如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="btnTextSize">18sp</dimen> </resources>
針對不同分辨率的手機(jī),android系統(tǒng)會自動適配加載相應(yīng)文件中的字體的大小值,btnTextSize的值是不同的。在布局文件中引用的方式如下:
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:id="@+id/lblSet" style="@style/btntext" android:textSize="@dimen/btnTextSize"> </TextView>
在java文件中這樣調(diào)用:
int size= (int)this.getResources().getDimension(R.dimen.Text_size);
通過這種方法,可以方便設(shè)置在不同分辨率下,字體的大小了。當(dāng)然,不僅僅字體大小,寬和高等其他的一些屬性,也可以通過類似的方式來設(shè)置!
二、1. 在視圖的 onsizechanged里獲取視圖寬度,一般情況下默認(rèn)寬度是320,所以計(jì)算一個縮放比率
rate = (float) w/320 w是實(shí)際寬度
2.然后在設(shè)置字體尺寸時 paint.setTextSize((int)(8*rate)); 8是在分辨率寬為320 下需要設(shè)置的字體大小
實(shí)際字體大小 = 默認(rèn)字體大小 x rate
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:textSize="@dimen/Text_size" />
布局多分辨率適配 :

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- Android編程實(shí)現(xiàn)自動調(diào)整TextView字體大小以適應(yīng)文字長度的方法
- android根據(jù)分辨率自動調(diào)整字體大小的實(shí)例代碼
- Android TextView 設(shè)置字體大小的方法
- Android編程中TextView字體屬性設(shè)置方法(大小、字體、下劃線、背景色)
- Android中App字體大小不隨系統(tǒng)改變而改變
- Android Studio設(shè)置主題與字體大小圖文教程
- Android 自定義TextView實(shí)現(xiàn)文本內(nèi)容自動調(diào)整字體大小
- Android Studio如何修改字體的大小
- 淺扒Android動態(tài)設(shè)置字體大小的示例
- Android如何動態(tài)調(diào)整應(yīng)用字體大小詳解
相關(guān)文章
Android 自定義Switch開關(guān)按鈕的樣式實(shí)例詳解
本文主要講的是在Android原生Switch控件的基礎(chǔ)上進(jìn)行樣式自定義,內(nèi)容很簡單,但是在實(shí)現(xiàn)的過程中還是遇到了一些問題,在此記錄下來,需要的朋友參考下吧2017-12-12
Kotlin Option與Either及Result實(shí)現(xiàn)異常處理詳解
Kotlin異常處理,異常是在程序運(yùn)行時可能發(fā)生的不必要的問題,并突然終止您的程序。異常處理是一個過程,使用它可以防止程序出現(xiàn)可能破壞我們代碼的異常2022-12-12
Android ANR(Application Not Responding)的分析
這篇文章主要介紹了Android ANR(Application Not Responding)的分析的相關(guān)資料,這里說明什么原因出現(xiàn)應(yīng)用程序的強(qiáng)制關(guān)閉,并說明該如何避免,需要的朋友可以參考下2017-08-08
Recyclerview添加頭布局和尾布局、item點(diǎn)擊事件詳解
這篇文章主要為大家詳細(xì)介紹了Recyclerview添加頭布局和尾布局、item點(diǎn)擊事件的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
Android實(shí)現(xiàn)自定義輪播圖片控件示例
我們都知道我們做軟件的時候,有些應(yīng)用是有廣告的輪番圖的,我們實(shí)現(xiàn)這個功能的時候大多數(shù)是采用:ViewPager +LinearLayout來實(shí)現(xiàn)的,今天分享一下我自己自定義的廣告輪番圖的控件!2016-11-11
Android入門之使用SimpleAdapter實(shí)現(xiàn)復(fù)雜界面布局
這篇文章主要為大家詳細(xì)介紹了Android如何使用SimpleAdapter實(shí)現(xiàn)復(fù)雜的界面布局,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Android有一定的幫助,需要的可以參考一下2022-11-11

