2012-06-18 30 views
0

我正在開發具有大量圖像的android應用程序。這是一個韓國應用程序。 我想支持可能的最大分辨率。 因此,我創建了4個不同的文件夾(ldpi,mdpi,hdpi,xhdpi),因爲google文檔中提到了drawable。 現在我的問題是,我所有的最重要設備上的應用工作完美,但在韓國有設備Pantech Vega LTE M這是給很多的麻煩如何設置爲Android應用程序的多畫面解析?

它的分辨率是xhdpi類的,但仍然在該器件我的應用程序顯示圖片來自MDPI和它顯示比分辨率更大。因此,圖像的一半顯示爲壓縮。

所以我沒有得到如何設置這個設備的drawables。我是否需要添加單獨的可繪製文件夾以匹配此分辨率。

如果我更改mdpi文件夾中的圖像比它會爲其他分辨率創建問題。

除了我需要添加的文件夾數量之外,還可以讓我的應用程序與所有可用的分辨率兼容。

回答

1

那是因爲該設備運行的Android 2.3 Gingerbread其中X-Large配置尚未支持因爲該分辨率是從Adroid 3.0 afaik開始支持的。

編輯: 貌似因爲API級別9 xhdpi得到了支持,並從設備的配置規格看起來像一個正常的 - 大屏幕xhdpi。所以我能想到的唯一解決方法就是在你的drawable中創建這些文件夾。

+0

沒有它的運行4.x和哪個文件夾我需要添加確切的信息? – Mayur

+0

儘管設備的規格似乎在2.3x下運行,但升級到ICS後,我建議您檢查下面提到的設備密度,因爲到目前爲止,這看起來像是該設備的自定義ROM上的一個錯誤。 – Raykud

0

嗨你創建了繪製-大MDPI

  1. 繪製文件夾,請檢查您的設備屬於哪一類大,超大並創建相應的文件夾。
  2. 發佈您的屏幕分辨率來調查問題。
  3. 檢查此代碼以獲得有關設備

    DisplayMetrics metrics = new DisplayMetrics(); 
    getWindowManager().getDefaultDisplay().getMetrics(metrics); 
    
    switch(metrics.densityDpi) 
    {  
    
        case DisplayMetrics.DENSITY_LOW:     
        Toast.makeText(this,"low density " + String.valueOf(metrics.densityDpi),Toast.LENGTH_SHORT).show(); 
        break;  
        case DisplayMetrics.DENSITY_MEDIUM:     
        Toast.makeText(this,"medium density " + String.valueOf(metrics.densityDpi),Toast.LENGTH_SHORT).show(); 
        break;  
        case DisplayMetrics.DENSITY_HIGH: 
        Toast.makeText(this,"high density " + String.valueOf(metrics.densityDpi),Toast.LENGTH_SHORT).show();   
        break; 
    } 
    
    
    if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) 
    {    Toast.makeText(this, "Large screen",Toast.LENGTH_SHORT).show();  }  
    else if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL) 
    {    Toast.makeText(this, "Normal sized screen" , Toast.LENGTH_SHORT).show();  }  
    else if ((getResources().getConfiguration().screenLayout &  Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) 
    {    Toast.makeText(this, "Small sized screen" , Toast.LENGTH_SHORT).show();  }  
    else {   Toast.makeText(this, "Screen size is neither large, normal or small" , Toast.LENGTH_LONG).show();  } 
    
+0

感謝vinnet我會嘗試它並檢查設備設備conf。 – Mayur

相關問題