Nexus 10擁有2500 * 1600的分辨率,而同一密度系列中的上一個鄰居擁有1024 * 800 - ** DOUBLE **如何在Android上處理不同的屏幕分辨率?
我的擔心是完全在圖像上,我已經保存了x * x px,If我在Nexus中使用相同的圖像 - 它延伸?
如何處理這些類型的決議?
Nexus 10擁有2500 * 1600的分辨率,而同一密度系列中的上一個鄰居擁有1024 * 800 - ** DOUBLE **如何在Android上處理不同的屏幕分辨率?
我的擔心是完全在圖像上,我已經保存了x * x px,If我在Nexus中使用相同的圖像 - 它延伸?
如何處理這些類型的決議?
的點通用技巧來設計佈局多個絲網
我得到了答案 -
我們甚至可以子分類提拉的使用繪圖-SW1200-xhdpi
問候 SS
有許多可能的方式來實現的重大的事情這是一個使用組件的大小
寬度 - 高度DP,在SP 文字大小
另一種是您可以使用佈局LDPI,佈局MDPI,佈局,華電國際,佈局xhdpi
DP和SP會解決你的問題
阿倫chandravanshi
在android中處理多種分辨率:
1)在android應用程序項目解剖4文件夾1)hdpi,mdpi,ldpi和xhdpi(在res文件夾中),您可以將圖像放在多個屏幕大小的設備上。系統根據設備自動從這些文件夾中選擇圖像。
2)給字體大小時使用sp而不是dp。
3)我們代替px。 4)主要是我們線性佈局和相對佈局,而不是其他佈局。
5)使用9個補丁圖像。
6)避免使用絕對佈局。
7)使用png圖像。 8)使用橫向模式的layout-land文件夾。
謝謝。
我的關注是完全在圖像上,我已經擁有x * x像素的圖像,如果我在Nexus中使用相同的圖像 - 它伸展? – Sreeram
永遠不會在px中使用圖像大小始終在dp中設置其屬性 –
http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources
你應該根據屏幕分辨率有替代資源。
例如,如果您想要超大屏幕的替代佈局,則需要將替代佈局放置在layout-xlarge中。一般規則是resources_name-qualifier。你可以找到關於Android的指南中的選項,支持多種分辨率和屏幕尺寸:在這個線程http://developer.android.com/guide/practices/screens_support.html
可以判斷在S取決於分辨率按代碼屏幕大小,然後應用必要的代碼。例如,我需要根據不同的屏幕分辨率更改文字大小。
public void setMainButtonTextSize(){
if (isXLargeScreen()){
mainButtonTextSize = 38;
mainButtonDownTextSize = 32;
titleTopButtonTextSize = 80;
titleBottomButtonTextSize = 60;
timeTextSize = 36;
dayTextSize = 26;
dateTextSize = 36;
} else if (isLargeScreen()){
mainButtonTextSize = 28;
mainButtonDownTextSize = 22;
titleTopButtonTextSize = 70;
titleBottomButtonTextSize = 50;
timeTextSize = 26;
dayTextSize = 16;
dateTextSize = 26;
} else if (isNormalScreen()){
mainButtonTextSize = 18;
mainButtonDownTextSize = 14;
titleTopButtonTextSize = 40;
titleBottomButtonTextSize = 30;
timeTextSize = 16;
dayTextSize = 12;
dateTextSize = 16;
} else if (isSmallScreen()){
mainButtonTextSize = 12;
mainButtonDownTextSize = 10;
titleTopButtonTextSize = 30;
titleBottomButtonTextSize = 20;
timeTextSize = 12;
dayTextSize = 8;
dateTextSize = 12;
}
}
public Boolean isLargeScreen(){
if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) {
return true;
} else
return false;
}
public Boolean isNormalScreen(){
if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL) {
return true;
} else
return false;
}
public Boolean isSmallScreen(){
if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) {
return true;
} else
return false;
}
public Boolean isXLargeScreen(){
if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE) {
return true;
} else
return false;
}
根據返回值,我相應地更改文本大小。
我的擔心是完全在圖像上,我已經擁有x * x像素的圖像,如果我在Nexus中使用相同的圖像 - 它會拉伸嗎? – Sreeram
您可以在寬度和高度上使用wrap_content,使用相對佈局並使您的imageview與父級(相對佈局)對齊,您可以在父級中對齊中心,左側和右側。嘗試一次 –