Android:調整控制應用內字型大小
最近有需求仿微信控制字型大小,想了半天查了很多資料,想先把功能實現了再說
public class MyApplication extends MultiDexApplication implements Application.ActivityLifecycleCallbacks{//實現該介面 private static MyApplication application; private List<Activity> activityList; private float fontScale; @Override public void onCreate() { super.onCreate(); application = this; fontScale = getFontScale(); //註冊 registerActivityLifecycleCallbacks(this); } public static Context getContext() { return application.getApplicationContext(); } //獲取設定字型大小值 public static float getFontScale() { float fontScale = 1.0f; if (application != null) { fontScale = (float) SharedPreferencesUtils.get(getContext(),"fontScale", 1.0f); } return fontScale; } @Override public void onActivityCreated(Activity activity, Bundle bundle) { if(activityList == null){ activityList = new ArrayList<>(); } // 禁止字型大小隨系統設定變化 Resources resources = activity.getResources(); if (resources != null && resources.getConfiguration().fontScale != fontScale) { android.content.res.Configuration configuration = resources.getConfiguration(); configuration.fontScale = fontScale; //設定大小 resources.updateConfiguration(configuration, resources.getDisplayMetrics()); } activityList.add(activity); } @Override public void onActivityStarted(Activity activity) { } @Override public void onActivityResumed(Activity activity) { } @Override public void onActivityPaused(Activity activity) { } @Override public void onActivityStopped(Activity activity) { } @Override public void onActivitySaveInstanceState(Activity activity, Bundle bundle) { } @Override public void onActivityDestroyed(Activity activity) { if(activityList != null){ activityList.remove(activity); } } //呼叫該方法即可 public static void setAppFontSize(float fontScale,Activity context) { if (application != null) { List<Activity> activityList = application.activityList; if (activityList != null) { for (Activity activity : activityList) { //當前頁面設定重啟會閃黑屏 if (activity instanceof SetActivity) { continue; } Resources resources = activity.getResources(); if (resources != null) { android.content.res.Configuration configuration = resources.getConfiguration(); configuration.fontScale = fontScale; resources.updateConfiguration(configuration, resources.getDisplayMetrics()); activity.recreate(); if (fontScale != application.fontScale) { application.fontScale = fontScale; //儲存設定後的字型大小 SharedPreferencesUtils.put(getContext(),"fontScale", fontScale); } } } } } } }
以上是application中的用法,先implements Application.ActivityLifecycleCallbacks,註冊後獲取儲存的字型大小,然後進行設定即可
調整字型大小的控制元件:點選下載
相關推薦
Android:調整控制應用內字型大小
最近有需求仿微信控制字型大小,想了半天查了很多資料,想先把功能實現了再說 public class MyApplication extends MultiDexApplication implements Application.ActivityLifecycleCallb
react navigation 高階: 任意控制元件內獲取 navigation 屬性
https://reactnavigation.org/docs/en/connecting-navigation-prop.html Access the navigation prop from any component withNavigation is
Android 輸出一個字串,不管字型大小如何修改,始終螢幕水平居中
本文指在沒有使用控制元件的的情況下 //獲取到螢幕的寬度 WindowManager wm = (WindowManager) getContext() .getSystemService(Conte
如何快捷鍵調整pycharm的顯示字型大小?
File->Settings->Keymap 在搜尋框搜尋increase 點選Increase Font Size(增大字型)右鍵選擇Add Mouse Shortcut 然後按Ctrl並且滑鼠滾輪往上滾。 同理可以設定減小字型【設定減小字型
android 動態改變控制元件位置和大小
動態改變控制元件位置的方法: setPadding()的方法更改佈局位置。 如我要把Imageview下移200px: ImageView.setPadding( ImageView.getPaddingLeft(), ImageView.get
android 怎麼匯入和應用特殊字型在app專案
隨著市面上的app應用越來越豐富,一款效能優越且讓人眼前一亮的app也是越來越少了。一款好的app不僅要介面精美而且要符合大眾需求。 介面上的字型是讓使用者第一眼就能感受到開發者心意的直接表現。但是android studio的自帶字型已經不能滿足使用者得需求
mfc listcontrol控制元件改變字型大小
LOGFONT logfont;//最好弄成類成員,全域性變數,靜態成員 CFont *pfont1 = m_List.GetFont(); pfont1->GetLogFont( &logfont ); logfont.lfHeigh
android 更改TextView中任意位置字型大小和顏色
這裡介紹兩種方法,一種是Spannable,一種是Html.fromHtml(通過html標籤來改變),實際中看您使用哪種方便選擇使用即可 1.Html.fromHtml的使用 TextView t
android 一個 textview 設定不同的字型大小和顏色
在實際應用中,需要將一個字串已不同的顏色,字型顯示出來。當然完全可以通過不同textview拼接出來。也可以通過一個textview來展示。 步驟如下: 1.定義不同style . 不妨如下定義2個style <style name="s
模式對話方塊中“static text”控制元件的字型大小改變
原文連結:http://blog.csdn.net/yf210yf/article/details/6955283 在對話方塊標頭檔案新增: CStatic m_static; CFont font; 在BOOL CYourDlg::OnInitDialog()中新增 m_static.Subcl
筆記:Google Play應用內購買結算(In-app Billing)的接入
Google Play應用內購買結算(In-app Billing) 最近公司有需求在Google渠道上加入Google支付 ,所以照著Google官方文件,寫了一個Dome,同時也寫這篇部落格記錄一下希望可以幫到有需要的人。 注意:In-app Billing Ve
改變GridView控制元件表頭字型大小、粗細
GridView控制元件表頭預設是粗體,字型大小也是一定的,如果只在<HeaderStyle />標籤下改變Font-Bold="false" Font-Size="Large",會發現表頭字型仍然是粗體,字型大小並沒有如我們所希望地變大。 另,在
wordpress 調整段落間距和字型大小
預設的wordpress字型大小和段落間距有些不舒服,顯得太大,有必要調整一下。 如圖 在WordPress的控制面板裡面,選擇 外觀-》編輯 直接編輯Style.css,其檔案對應位置是 wordpress/wp-content/themes/[theme name]/s
android 6.0系統應用內更新導致的解析包錯誤問題
有時候android會遇到這樣的問題,應用內更新時在其他的版本的手機上可以,但在某些機型上更新下載完apk檔案事會出現解析包錯誤的情況。 在這裡總結一下自己走過的兩個坑。 解決思路: 當遇到這種問題的時候,首先應該檢查的是你下載的apk檔案的大小和你服務端儲存的apk檔案大
android 如何調整System.img 大小,從而多內建應用
通過excel 開啟: alps/mediatek/build/tools/ptgen/partition_table.xls, 表中的MT6573 no 子表, 修改 11 行/G 列 如預設11行: 11 ANDROID YAFFS2 1500000 DD00000 2
Android系統的桌面圖示文字——調整字型大小、圖示和文字間的間隔
一、適當縮小應用圖示名稱的字型大小,請參考我寫的“Launcher3佈局的佈局配置 ”,先確認裝置使用的哪一個profile標籤,然後適當縮小對應的launcher:iconTextSize 二、圖示和文字間的間隔 1、路徑:packages\apps\Launcher3\src\co\
C#窗體設計:自動調整控制元件大小
新建一個C#應用程式,應用程式命名為Change 窗體介面設計如下 雙擊窗體新增Load()函式,函式中新增一下程式碼: private void Form1_Load(object sender, EventArgs e)
借鑑drawable資料夾,使用dimens控制字型大小、邊距大小。適配Android不同機型,不同螢幕
以前一直是個Get使用者,一直都是伸手黨,最近剛好專案中要用到機型適配,試了很多方法(配置不同layout資料夾,不同的layout檔案等)。但都感覺後期維護工作量巨大,後來從圖片資源適配獲得靈感,使用value不同的dimens檔案,達到適配的效果: 1、建立不同的點陣圖
Android重寫getResources規避使用者調整系統字型大小影響Android螢幕適配
Android螢幕適配一直是一個頭疼的問題。除此之外還要考慮APP在實際應用場景中,使用者千奇百怪的設定,最常見的使用者設定行為就是設定手機的字型大小,比如把字型設定成超大或者超小,這對螢幕適配又帶來額外的問題。解決這個問題的方法之一是通過在MainActivity(主act
GTK進階學習:改變控制元件字型大小
改變控制元件字型大小: #include <gtk/gtk.h> /* 功能: 設定控制元件字型大小 * widget: 需要改變字型的控制元件 * size: