2012-03-29 4 views
19

MDPI画像10" のためには小さすぎる私はLDPI、MDPI、hdpiとxhdpiとして各濃度のために描画可能を有するAndroidタブレット

問題: どちら10" タブレットデバイス(1280×800)と通話デバイス320×480中密度を使用します。私は35x35 mdpiの画像を持っています。しかし、この画像はタブレットでは小さすぎるのに対し、ハンドセットではOKです。

私は関連文書を読みました。しかし、私は有意義なことを理解できなかったと思う。とにかくタブレット用のxhdpiイメージを使用しているか、mdpiタブレットにもっと大きなイメージを使用する方法があるのだろうか。

答えて

25

ドロアブルフォルダには、もう1つの識別子largeおよび/またはxlargeを追加する必要があります。 drawable-mdpiが以前と同じサイズになる間に結果に満足するまで、drawable-xlarge-mdpiのサイズを増やしてください。

これはアプリのサイズを増やしますが、問題が修正されます。

+0

:私は同じ意味であまりにも表現されているが。 –

+0

@ Raman-Mystry申し訳ありませんが、あなたが何を言おうとしているのか分かりません。 – WarrenFaith

+0

@WarrenFaith私はあなたのアプローチを試みました。ありがとう。しかし、アプリケーションのサイズのために、私はキングラムのアプローチを使用すると思います。 – efeyc

18

アプリのサイズを大きくしないでこれを実現したい場合は、高密度画面と大きな中密度画面に同じリソースを使用させる方法があります。再利用したいイメージを 'drawable-nodpi'フォルダに置く必要があります。これにより、プラットフォームの使用時に独自のスケーリングが実行されなくなります。たとえば、あなたがxhdpiのリソースを使用するタブレットサイズの画面をしたい場合は、描画可能-xhdpiの外に移動し、このように名前を変更し、あなたが「my_resource」と呼ばれるリソースを持っていると仮定すると:

/drawable-nodpi/my_resource_xhdpi.png 

その後に

<?xml version="1.0" encoding="utf-8"?> 
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
    android:src="@drawable/my_resource_xhdpi"> 
</bitmap> 

をあなたは/ my_resource描画可能@を使用する場合さて、xhdpiバージョンはxhdpi画面とXLARGEによって使用されます。描画可能xhdpiと描画可能XLARGE両方のフォルダは、次のようになりますmy_resource.xmlというファイルを作成します1つのバージョンのイメージを維持するだけで済みます。私はこのテクニックをかなりたくさん使っていて、とてもうまく動作します。希望が助けてくれる!

+2

共感謝ありがとう – WarrenFaith

+0

@kingraam:各pngに1つのxmlファイルが必要です。そうですか? – efeyc

+1

あなたはそれを使用する密度/画面サイズごとに、画像ごとに1つのxmlファイルが必要です。このアプローチの欠点は、より多くのサイズ/密度の組み合わせをカバーする必要があることです。たとえば、hpdiのタブレットがリリースされた場合は、imageまたはxmlファイルをdrawable-xlarge-hdpiに入れる必要があります。そうしないとdrawable-nodpiの画像を指すdrawable-xlargeのものが使用されます。それはnodpiのためスケールアップされないので、画面上で物理的に小さくなります。だから注意して使用してください!私は密度とサイズのフォルダの間で画像を共有するためのよりよいアプローチについてはわかりません。 – kingraam

0

drawable-hdpiフォルダに加えて、drawable-xlargeとdrawable-largeフォルダにいくつかのリソースが含まれています。これは私のために働く。

もう一つの選択肢は、私は次のコードで行うれ、直接コード内で画像を拡大縮小することです:

Drawable scaledIcon = new BitmapDrawable(Bitmap.createScaledBitmap(myImage, pxInt, pxInt, true)); 
myImageView.setBackgroundDrawable(scaledIcon); 

あなたのコード内の画像の多くを拡大するのは良いアイデアではありません(この方法を使用して)、私はこのように飛行中の画像を変更することはリソース集中的だと思うので、私が使用しているイメージが標準サイズでない場合があります(そして、私はそれを常に正しくフィットさせたい場合があります)。

9

これらは一般的な方法のように定義されています

デバイス:

drawable-ldpi/xyz.png   low resolution devices 320x240 (now a days no phone comes with this resolution) 
drawable-mdpi/xyz.png   medium resolution devices 480x320 
drawable-hdpi/xyz.png   high resolution devices 800x480 
drawable-xhdpi/xyz.png   Extra high resolution devices 1280*720 
drawable-xxhdpi/xyz.png  Extra Extra high resolution devices 1920x1080 

錠:warrenfaith @

drawable-large-mdpi/xyz.png 7” Tablet (600x1024 mdpi) 
drawable-xlarge-mdpi/xyz.png 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc). 
+0

これは方法¡¡¡¯秒です – Billyjoker

+0

ようこそ@Billyjoker;) – karan

関連する問題