2012-04-27 66 views

回答

6

你不能。 res文件夾必須在編譯時填充以便讓編譯生成R.java文件。

1

你不能像@blackbelt所說的那樣。但是你仍然可以在運行時產生的呢:

如果你有不同分辨率的一些圖像由後綴像表明:

  • 近距離ldpi.png
  • 近距離mdpi.png
  • 特寫hdpi.png

你可以做這樣的事情

DisplayMetrics metrics = new DisplayMetrics(); 
    this.activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); 
    String fileName = "close"; 
    String fileSuffix = ""; 
    String fileExtension = ".png"; 
    int dpi = Math.round(metrics.density * 160); 
    if (dpi<= 120/*DisplayMetrics.DENSITY_LOW*/) { 
     fileSuffix = "-ldpi"; 
    } else if (dpi<= 160/*DisplayMetrics.DENSITY_MEDIUM*/) { 
     fileSuffix = "-mdpi"; 
    } else if (dpi<= 240/*DisplayMetrics.DENSITY_HIGH*/) { 
     fileSuffix = "-hdpi"; 
    } else if (dpi<= 320/*DisplayMetrics.DENSITY_XHIGH*/) { 
     fileSuffix = "-hdpi"; 
    }//else 

    Drawable crossDrawable = new BitmapDrawable(getClass().getResourceAsStream(fileName + fileSuffix + fileExtension)); 
    //getContext().getResources().getDrawable(android.R.drawable.btn_dialog); 
    crossImage.setImageDrawable(crossDrawable); 
相關問題