2

res フォルダーの drawable-hdpi,drawable-mdpi,drawable-ldpi 内にさまざまな解像度の画像を保持できますが、 assets/www フォルダーから画像にアクセスする方法がわかりません。親切に助けてください。

4

4 に答える 4

1

マルチ解像度を処理するには、さらに何かを行う必要があります。id で画像を取得するだけで、システムは現在の解像度に従って自動的に pic します。

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

于 2012-06-05T13:57:11.203 に答える
0

パスを使用する場合は、次のことを試してください。

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画面の解像度に応じて画質を区別するための単なる異なるフォルダです。アイデアは、同じ画像を異なる解像度の異なるフォルダに配置することです...

于 2012-06-05T14:00:17.717 に答える
0

(dpiに関係なく)画像IDを取得できます:

R.drawable.your_image

したがって、id を使用すると、必要なことはすべて実行できます (検索を使用)。

于 2012-06-05T13:54:48.100 に答える
0

AssetManager は必要ありません。できるよ

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

アセットに画像を保存することは最善の方法ではありませんが。Android リソース管理システムを利用できなくなります。したがって、これを行うやむを得ない理由がない限り、res フォルダーとリソース システムの使用を検討することをお勧めします。

更新: 説明 BitmapFactory には、decodeFile メソッドを介してファイルをデコードするメソッドがあります。それがポイント1です。Android では、file:///android_asset/{path} パスを介してアセット フォルダー内のファイルにアクセスできます。あなたの場合、 /image/Malay/bullet.jpg の画像は、アセットフォルダーからアクセスできますfile:///android_asset/www/bullet.jpg

于 2015-01-20T18:17:36.200 に答える