我有文件夾:值(表示xxhdpi)。使用尊重值在dimens.xml中創建。在xxhdpi設備上測試了該應用,效果很好。Android錯誤選擇dimen
然後我用他們的dimens.xml文件創建一個values-xxxhdpi。問題是,當我再次使用xxhdpi設備進行測試時,它正在取值於values-xxxhdpi文件夾中的值而不是值(默認)文件夾中的值。
隨着xhdpi發生同樣的問題。
我在做什麼錯?
感謝
我有文件夾:值(表示xxhdpi)。使用尊重值在dimens.xml中創建。在xxhdpi設備上測試了該應用,效果很好。Android錯誤選擇dimen
然後我用他們的dimens.xml文件創建一個values-xxxhdpi。問題是,當我再次使用xxhdpi設備進行測試時,它正在取值於values-xxxhdpi文件夾中的值而不是值(默認)文件夾中的值。
隨着xhdpi發生同樣的問題。
我在做什麼錯?
感謝
也許你錯了命名的文件夾。
嘗試values
而不是value
。
因此請嘗試使用values-xxhdpi
和values-xxxhdpi
作爲文件夾的名稱。
你確定你的設備在xxxhdpi上運行嗎?
xxxhdpi被定義爲如下所示:
因此,也許你得檢查喜歡你的分辨率:
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
float dpHeight = displayMetrics.heightPixels/displayMetrics.density;
float dpWidth = displayMetrics.widthPixels/displayMetrics.density;
StringBuilder bld = new StringBuilder();
bld.append(String.format("Height: %s %s", dpHeight, System.getProperty("line.separator")));
bld.append(String.format("Width: %s %s", dpWidth, System.getProperty("line.separator")));
String densityType = "";
switch (displayMetrics.densityDpi)
{
case DisplayMetrics.DENSITY_LOW:
densityType = "LDPI";
break;
case DisplayMetrics.DENSITY_MEDIUM:
densityType = "MDPI";
break;
case DisplayMetrics.DENSITY_TV:
case DisplayMetrics.DENSITY_HIGH:
densityType = "HDPI";
break;
case DisplayMetrics.DENSITY_XHIGH:
case DisplayMetrics.DENSITY_280:
densityType = "XHDPI";
break;
case DisplayMetrics.DENSITY_XXHIGH:
case DisplayMetrics.DENSITY_360:
case DisplayMetrics.DENSITY_400:
case DisplayMetrics.DENSITY_420:
densityType = "XXHDPI";
break;
case DisplayMetrics.DENSITY_XXXHIGH:
case DisplayMetrics.DENSITY_560:
densityType = "XXXHDPI";
break;
}
bld.append(String.format("Density: %s %s(%s dpi)", displayMetrics.density, densityType, displayMetrics.densityDpi));
txtScreenInfo.setText(bld.toString());
對不起,我編輯去的問題,我有價值觀的文件夾。我沒有values-xxhdpi,我只有值和值 - xxxhdpi。 – user3240604