2011-08-05 7 views
0

このトピックについてはたくさんの質問がありますが、私はたくさんの "android dpi"の記事を検索してオンラインドキュメントを読んでみましたが、正確な質問は見つかりませんでした。Android:画像リソースのサイズを維持する

すべてのデバイスの画面上で同じスペースを占めるボタン(またはイメージリソース)を作成する場合はどうすればよいですか?

Androidには特定の画面サイズやdpiがありますが、特定の画像がどれくらい大きく表示されるべきかはわかりません。

は、私は(アプリケーションのみ風景である)私の描画可能とレイアウトフォルダの次のセットアップを持っていると言う:

res/drawable-ldpi/button.png (120 dpi) 
res/drawable-mdpi/button.png (160 dpi) 
res/drawable-hdpi/button.png (240 dpi) 

res/layout-small/main.xml - button is set to 100dp 
res/layout-normal/main.xml - button is set to 100dp 
res/layout-large/main.xml - button is set to 100dp 

は私が任意の画面上100dpにしたいボタンを持っていると言います。 3:4:6の比率のルールに従うと、mdpi密度の100px幅のボタンリソースがあれば、75pxのldpi密度と150pxのhdpi密度の別のボタンを作成する必要があります。あれは正しいですか? 120dpiで75pxボタン、160dpiで100pxボタン、240dpiで150pxボタンを作成し、3つのレイアウトファイルすべてでandroid:layout_width = "100dp"と言うだけですか?または、3つのボタンをすべて異なるdpiで100pxにするのですか?

ボタン9をパッチした場合はどうなりますか? 120dpi、160dpi、240dpiで3回ボタンを作成する必要がありますか?そのサイズは100pxですか?または、100pxと160dpiで9個のパッチ付きボタンを1つ作成し、それをmdpiドロワブルフォルダに配置するだけですか?

オンラインドキュメントは少し混乱していますので、私は単純な答えを探しています。

Androidのバージョン1.6以上(3.2などのためではない新しいもの)あなたの助けを

おかげで...私はちょうどボタンを7と3.7" 画面上の同じスペースを取るしたいためにこれがあります"画面とぼやけていない!

答えて

0

ソートしましたか? Afaik、そして私の経験から、Photoshopで画像を作成するときにdpiを変更しないでください。私はいつも私の考えである72の標準に私のものを残しました。それにもかかわらず、あなたが100万に設定してもそれは問題ではないと思う。

あなたが言及したpx値は、l mとhに対して正しいです。 私はフォルダ名からmdpi修飾子を残しておきます。 xhdpiデバイス上にxhdpi修飾子を持たない描画可能なフォルダがなく、修飾子なしのフォルダがない場合は、プロトコルが不明です。

ワークフロー: 75,100,150で画像を作成します。 ldpiフォルダに75、修飾子なしでdrawablesフォルダに100、hdpiに150を入れます。 レイアウトを100dpのままにしておきます。それらは正しくスケールする必要があります。つまり、完全な解像度を使用している場合は、イメージサイズを指定する必要はありません。

私の答えの不正確な点についてのコメントは、いつでも歓迎されます。

+0

現時点では、私はdrawableとdrawable-hdpiで2倍のサイズを入れました。スペクトルの両端をカバーするのは妥当と思われます。 Androidは残りの部分を処理します。 – amcc

+0

は、画面密度の問題に対処していますが、異なる画面サイズの問題に対処していません。 – oat

+0

@QuakiGabbar OPは、どの画面でもボタンを100dpにしたいと言っていました。2つの異なるデバイスで同じスペースを取るという言葉はあいまいです。つまり、コンテンツが同じ物理サイズでなければならないのか、デバイスあたりの画面の不動産の量が同じでなければならないのでしょうか? – ataulm