簡體   English   中英

如何使用res文件夾的drawable-hdpi,drawable-mdpi,drawable-ldpi中存在的圖像?

[英]how to use images present in drawable-hdpi,drawable-mdpi,drawable-ldpi of res folder?

我能夠將res文件夾的drawable-hdpi,drawable-mdpi,drawable-ldpi保留在不同分辨率的圖像中,但不知道如何從assets / www文件夾訪問圖像。 請幫助。

您需要做更多的事情來處理多分辨率。只需按id獲取圖像,系統就會根據當前分辨率自動拍照。

http://developer.android.com/guide/practices/screens_support.html#range

您可以通過以下方式獲得圖像ID :(與dpi無關):

R.drawable.your_image

因此,使用id,您可以做您需要的所有事情(使用搜索)。

如果要使用路徑,請嘗試以下操作:

private void showImage() {
    String uri = "drawable/icon";

    // int imageResource = R.drawable.icon;
    int imageResource = getResources().getIdentifier(uri, null, getPackageName());

    ImageView imageView = (ImageView) findViewById(R.id.myImageView);
    Drawable image = getResources().getDrawable(imageResource);
    imageView.setImageDrawable(image);
}

但是建議使用R引用:

int imageResource = R.drawable.icon; 

Drawable image = getResources().getDrawable(imageResource);

資源

drawable-hdpi drawable-mdpi,drawable-ldpi是不同的文件夾,根據屏幕分辨率,圖像質量之間會有所不同。 想法是將相同的圖像以不同的分辨率放在不同的文件夾中...

您不需要AssetManager。 你可以做

BitmapFactory.decodeFile("file:///android_asset/www/bullet.jpg")

雖然將圖像存儲在資產中不是最佳方法。 您將無法利用Android資源管理系統。 因此,除非您有充分的理由這樣做,否則建議您看看使用res文件夾和資源系統。

更新:解釋BitmapFactory有一個方法可以通過encodeFile方法解碼文件。 這是第一點。 Android允許您通過file:/// android_asset / {path}路徑訪問資產文件夾中的文件。 在您的情況下,可以通過file:///android_asset/www/bullet.jpg來訪問/image/Malay/bullet.jpg處的圖片是資產文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM