0
劑量任何人都知道如何更改Java中的android應用程序的densityDpi?Android在java中更改densityDPI
我正在處理一個android應用程序,我在視點標記中操作目標密度。這在應用程序的某個地方導致了一個小問題,目標密度似乎被軟鍵盤重置。
所以我需要一種方法來重置它,或者防止鍵盤改變密度。
劑量任何人都知道如何更改Java中的android應用程序的densityDpi?Android在java中更改densityDPI
我正在處理一個android應用程序,我在視點標記中操作目標密度。這在應用程序的某個地方導致了一個小問題,目標密度似乎被軟鍵盤重置。
所以我需要一種方法來重置它,或者防止鍵盤改變密度。
對於像聯想A1(240dpi密度的平板電腦)或銀河筆記這樣的設備,您可能需要在您的應用中執行此操作,以避免在各種設備上看起來像是各種尺寸。
從的onCreate以下函數添加到您的擴展應用類並調用它:
public void changeDensity(float desiredDensity) {
//desiredDensity : ldpi = 0.75 (120dpi) , mdpi = 1 (160dpi), hdpi = 1.5 (240dpi), xhdpi = 2.0 (320dpi)
DisplayMetrics metrics = getResources().getDisplayMetrics();
metrics.density = desiredDensity;
metrics.xdpi = desiredDensity * 160;
metrics.ydpi = desiredDensity * 160;
metrics.densityDpi = (int) (desiredDensity * 160);
getResources().updateConfiguration(null, null);
}
更改密度?這聽起來很奇怪,可能是一個壞主意。什麼是用例? – dmon 2012-08-09 00:19:39
非常規的肯定。在這一點上進行實驗,看看這種方法是否可行。我們有一個超大尺寸的phonegap應用程序,它使用視圖端口目標密度來縮小比例。當軟鍵盤變焦時,它會改變密度以達到縮放效果,尋找重置密度或防止發生密度變化的方法。這似乎是這種方法唯一的缺陷,但有一些重大難點。 – 2012-08-09 01:11:34
對應用程序onconfigchange中的更改做出反應? – 2016-04-22 22:50:39