1. 程式人生 > >Android重寫getResources規避使用者調整系統字型大小影響Android螢幕適配

Android重寫getResources規避使用者調整系統字型大小影響Android螢幕適配

Android螢幕適配一直是一個頭疼的問題。除此之外還要考慮APP在實際應用場景中,使用者千奇百怪的設定,最常見的使用者設定行為就是設定手機的字型大小,比如把字型設定成超大或者超小,這對螢幕適配又帶來額外的問題。解決這個問題的方法之一是通過在MainActivity(主activity,根activity)中重寫getResources()規避使用者大小字型的設定影響。

@Override
    public Resources getResources() {
        Resources res = super.getResources();
        Configuration config=new Configuration();
        config.setToDefaults();
        res.updateConfiguration(config,res.getDisplayMetrics());
        return res;
    }

注意!getResources()方法是全域性的,由於重寫了getResources()方法,導致APP全域性將不再受到使用者調整系統字型大小的影響。通過這種方法,APP的字型大小將固定顯示給定的dp或sp,不再受使用者設定系統字型顯示大小的影響,在一定程度上解決了Android不同裝置的適配問題。但是這樣做也剝奪了使用者選擇的權利: 比如使用者嫌棄字型小或者大,特意想通過設定系統字型顯示大小的方法調整整體字型的顯示效果。

相關推薦

Android重寫getResources規避使用者調整系統字型大小影響Android螢幕

Android螢幕適配一直是一個頭疼的問題。除此之外還要考慮APP在實際應用場景中,使用者千奇百怪的設定,最常見的使用者設定行為就是設定手機的字型大小,比如把字型設定成超大或者超小,這對螢幕適配又帶來額外的問題。解決這個問題的方法之一是通過在MainActivity(主act

Android 修改系統字型大小,導致頁面展示異常解決方案

Android系統預設是允許修改系統本身的字型大小的,導致頁面展示異常。 頁面展示異常是因為系統字型大小影響到了程式中字型的單位sp,所以解決此問題的方案1是,將佈局中字型大小的單位sp換成dp 解決方案2:重寫Activity或Application中的getResou

Android禁止app字型大小跟隨系統字型大小調節

Android禁止app字型大小跟隨系統字型大小調節 針對字型不隨系統應用改變而改變,不然會導致原來的一些佈局變化,在Application中重寫getResources() @Override public Resources getResourc

Android修改整體系統字型大小

當我們想整體變大變小整個android系統的字型時,應該怎麼去做呢? 需要修改一下地方: 1.原始碼\packages\apps\Settings\res\values\arrays.xml 這裡面有setting切換字型大小的配置,item裡面的是預設倍數 2.修改預設

Android系統字型大小如何影響app的字型大小

在Android應用開發過程中,一定會碰到本來完美的佈局,在系統字型大小設定【最大】時變成一團漿糊。解決辦法網上也有很多,但是分析原理的卻幾乎沒看到。博主在碰到問題的第一時間也是直接用了網上的方法,即在BaseActivity中重寫getResources方法如

Android中設定字型不隨系統字型大小而變化

有的時候,我們設定好的佈局,在某些手機上,就會出現佈局錯亂,因為這個問題會流失很多使用者,體驗超級不好,問題圖如下, 我們可以看到本來是一行可以顯示的佈局,竟然錯亂成這個樣子,蛋疼! 解決辦法: 我們在Application的onCreate方法中將

螢幕——系統升級android 8.0 部分UI出現錯亂——“可用螢幕解析度”

這兩天將自己的mate9從7.0升級到8.0發現一個問題,app的某個ui介面部分錯亂了;因為螢幕適配使用了dimens適配,所以猜測有可能螢幕規格沒有覆蓋到;但是發現mate9的螢幕解析度為1920*1080,查看了dimens檔案是有覆蓋的,為什麼7.0時候沒有問題,升級到8.0出現

React native 禁止字型跟隨系統字型大小縮放

MainActivity.java 檔案中加入 import android.content.res.Configuration; import android.content.res.Resources;  後面類要加入 @Override public Resource

rem佈局,系統字型大小發生變化是,頁面樣式錯亂的問題

最近做的一個APP,昨天測試的時候,發現在大多數手機上頁面用rem佈局,都是可以適配的,但是在一些手機上(比如三星A8000,預設字型大小比較大)出現了混亂,看上去像是寬度不夠,有些元素被擠下來,整個頁面被拉伸了一些,後來打印出當前頁面根元素的字型大小,我設定的100px,

Android 一個TextView中設定文字不同字型大小和顏色的最完整方法

在做專案的時候,經常會遇到過一行文字有兩種顏色。有時候直接會想到用多個TextView來實現。今天就介紹一下更為簡單的方法,用一個TextView實現。 效果: 這幾個都實現了一行字有不同顏色,還有兩個字型大小也不一樣,我們下邊一一介紹。 首先xml程

android仿QQ優雅的修改App字型大小

最近公司有需求需要在App裡提供修改應用字型大小的功能,網上查了下資料,感覺都不是和理想,後決定自己實現功能。 實現原理 根據Activity的主題動態修改,在主題中新增自定義的字型大小屬性,滿足不同字型大小的需求,修改時將主題儲存在SharedPref

Android WebView通過程式碼修改網頁的字型大小

今天遇到一個問題:需要在Android 客戶端控制webview網頁中字型的大小,webview載入的內容是從服務端獲取的html片段,我們知道webview,可以直接載入html片段 (mWebView.loadDataWithBaseURL(null, n

調整jmeter字型大小

        jmeter在win7上用,字型還可以,在我的win10電腦上,字型變得特別小,下面這樣。        主要是左邊這部分和引數那,左邊這部分可以調整選項,選項—>外觀—>System,這麼下來可以看頁面字型大一些,但是引數那裡還是不管用。找找百度

Android呼叫系統相機、相簿功能,6.0許可權獲取以及7.0以後獲取URI(相容多版本)

  Android中呼叫系統相機來拍攝照片的程式碼,如下:1、首先設定Uri獲取判斷以及相機請求Codepublicfinalint TYPE_TAKE_PHOTO = 1;//Uri獲取型別判斷publicfinalint CODE_TAKE_PHOTO = 1;//相機R

關於直播系統和短視頻系統安卓手機屏幕的方向思路

適應 需要 RoCE 官方 自定義view fff 註意 我們 拉伸 直播與短視頻的接踵而至,將互聯網推向了網紅經濟時代,而智能手機的更新叠代為二者的發展提供了“溫床”。但隨著Android機型的增多,設備碎片化的程度也在不斷加深,因此為了保證用戶在不同Android機型下

Android 開發:(九)Android螢幕經驗談

1.名詞解釋 螢幕尺寸: 也就是我們平時所說的某某手機是幾寸屏, 比如HTC one V這款手機是3.7寸的, 這裡的寸說的是英寸(inch),國際上習慣使用的單位,1inch = 2.54cm,3.7寸指的是螢幕的對角線的長度。 螢幕解析度:

Android 螢幕之 dimens

相信做手機端的 App 的小夥伴,只要是產品稍微大一點,就會面臨螢幕適配的問題,對於適配這個問題,網上眾說紛紜,以前雖然有零零散散的看過,但是沒有實踐過,也是在最近遇到這個需求的情況下才研究了一下,現在做個記錄。 1 參考連結 http://blog.csdn.net/qq_341

Android中dp px sp概念梳理以及如何做到螢幕

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android螢幕詳解

本篇文章將解釋什麼是螢幕適配,為什麼要螢幕適配,螢幕適配的本質,和如何解決螢幕適配上的問題。(小白也能看懂哦) 什麼是螢幕適配?     螢幕適配就是讓某一個元素或者是APP中的UI介面在不同解析度、不同尺寸的螢幕上展示出同樣的顯示效果,這就是螢幕適配。 為什麼要

dimens-Android非常簡單非常好用的螢幕

為什麼要進行Android螢幕適配? 關於為什麼要進行Android螢幕適配,什麼是dp、dpi這些概念我就不去一一講解了,網上很多文章。這裡我推薦幾篇講的比較好的: Android螢幕適配全攻略(最權威的官方適配指導) Android 螢幕適配:最全面的解決方案 Andr