[英]How to change image according resolution?
我正在開發一個android應用程序。 我使用了不同的布局文件夾。 像layout一樣,layout-large,layout-xlarge。 這樣就可以針對所有分辨率進行調整。 但是我在活動中動態設置圖像。 如何根據屏幕分辨率進行更改? 如果更改分辨率,太大的圖像將如何替換較小的圖像?
Android使用密度存儲桶,密度存儲桶的范圍從l(低)dpi到xx(額外)h(高)dpi。
您要在文件夾中創建不同版本的圖像
這與布局較大的文件夾有點松散,后者使您可以為不同的大小定義不同的布局。
2件截然不同的事情,您可以在Android的屏幕實踐中了解更多。
=======編輯; 似乎這不完全是問題。
如果您以“正確的方式”進行操作,則即使是動態添加圖像,Android系統也會為您選擇正確的圖像(您仍然可以從Java代碼中調用R.drawable.my_image)。
如果由於某些原因您必須選擇,則可以使用類似(有點過時)的方法簡單地檢查當前的密度。
public String getDensity() {
String density;
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
// will either be DENSITY_LOW (120) , DENSITY_MEDIUM (160) or
// DENSITY_HIGH (240)
switch (dm.densityDpi) {
case 120:
density = "ldpi";
break;
case 160:
density = "mdpi";
break;
case 240:
density = "hdpi";
break;
// use hdpi as default, because flurry shows this will be suited for
// most of our users.
default:
density = "hdpi";
break;
}
return density;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.