解決系統改變字型大小的時候導致的介面布局混亂的問題

2021-08-11 14:14:47 字數 746 閱讀 4389

resources res = getresources();

configuration config=new configuration();

config.settodefaults();

res.updateconfiguration(config,res.getdisplaymetrics() );

雖然google推薦使用sp作為字型的單位,但實際的開發過程中通常是根據uiue的設計稿來換算 sp(px換算sp)。而sp即使在同一種密度下其值也不盡相同。比如在240dpi的裝置,如果是480x800解析度這個值通常是1.5倍 (scaleddensity=1.5),如果是480xz(z>800)那麼這個值有可能大於1.5。這無疑給裝置的適配帶來更多的困難和陷阱。所以個人通常建議使用dpi來作為字型的單位

例如:contacts中需要在com.android.contacts.activities.transactionsafeactivity加入以下code

@override

public resources getresources() 

@override

public resources getresources() else }

// 預設返回true,使用系統資源,如果個別介面不需要,在這些activity中override this method ,then return false;

protected boolean isneedsystemresconfig() 

VC程式設計 CEdit改變字型大小的方法

方法很多,這裡講解兩種比較簡單的方法,也是從google上搜尋來的。方法一 cwnd pedit pedit getdlgitem idc edit one assert pedit null hfont hfont hfont getstockobject system fixed font cf...

Android 快速 簡便的改變字型大小

在看此之前,先看這篇。看完之後我們再開始。1.我不太喜歡原文中的從結束到開始的寫文方式,會讓看的人從頭開始都是莫名其妙,這些是怎麼來的,看到後面才知道是後面的,那為何不怎麼開始就怎麼寫呢,你的寫作順序不就是解決方法的順序嗎?2.開始正題 原文中會定義 三個size,使用的時候又會寫這麼多 12sp ...

系統中一鍵改變字型大小和樣式的方法

1.字型大小的改變 resources中的configuration包含了裝置的所有配置資訊 通過對resources中configuration的update更新,設定自己需要的配置資訊 例如 預設的語音 字型等 configuration configuration getresources g...