1

「drawableTop」として TextView にビットマップを表示するアプリがあります。

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:drawableTop="@drawable/bitmap"
    android:gravity="center"
    android:text="@string/text" />

ビットマップは、res/drawable フォルダー内の PNG ファイルから取得されます。bitmap.png と呼びましょう。

複数の画面サイズと密度をサポートする必要があり、最も安価な方法 (res/* フォルダーに必要な PNG ファイルの数) を見つけたいと考えています。

さまざまな密度: 電話のみ

res/drawable-xhdpi フォルダーに bitmap.png を配置するだけで十分であるという結論に達しました。密度の高い端末ではそのまま表示されますが、密度の低い端末では自動的に縮小表示されます。つまり、res/drawable-hdpi、res/drawable-mdpi などに bitmap.png の低解像度バージョンを用意する必要はありません。基本的に、すべての電話で PNG ファイルの1 つのバージョンだけで十分です。

さまざまな密度: 錠剤も

ここで、大画面と超大画面のタブレットもサポートしたい場合に問題が発生します。タブレットでは、アイコンの縦横比を携帯電話と同じにしたい: 携帯電話でビットマップが画面の 1/4 を占める場合、タブレットでは画面の 1/4 を占めるようにします。以前と同じ PNG ファイルを再利用することはできません。または、タブレットのピクセル数が多いため、小さすぎるように見えます...したがって、タブレットの場合は、より高い解像度の PNG が必要です。これは、大画面と特大画面の両方に当てはまります。

その結果、3 つのフォルダーと 3 つのバージョンの PNG が必要になります。

1: res/drawable-xhdpi/bitmap.png
2: res/drawable-large-xhdpi/bitmap.png
3: res/drawable-xlarge-xhdpi/bitmap.png

ただし、1 と 2 は基本的に 3 の低解像度バージョンです。

3つではなく単一のフォルダを持つ簡単な方法はありますか?

4

3 に答える 3

0

これを行うための最も安価な方法 (ドローアブルに複数の画像を追加しない) について話している場合は、9-Patch Imagesを使用します。あなたがそれについて知らない場合は、ここで使用法を学んでください:

http://www.androiddom.com/2011/05/android-9-patch-image-tutorial.html

http://www.androiddom.com/2011/05/creating-custom-drawn-button.html

于 2012-12-03T22:02:08.770 に答える
0

すべての解像度で画像を 1 つだけ保持したい場合は、res/drawable フォルダーと res/drawable-land フォルダーに保持してみませんか?

于 2012-12-03T20:43:00.323 に答える