2

この質問について N 個のスレッドがあることは知っていますが、Android でウィジェット (ボタン、画像) に幅と高さを適用する方法はまだわかりません。

http://developer.android.com/guide/practices/screens_support.htmlおよび他の多くのスレッドを読みまし たが、理解できません。

ボタンの dpi を計算するにはどうすればよいですか?

デバイスの dpi を知る必要がありますか? (ウィキペディアのリスト): http://en.wikipedia.org/wiki/List_of_displays_by_pixel_density

しかし、異なる dpi のデバイスは他にもたくさんあります。

Photoshop でデザイン (800x480) とボタン (290x65) を持っています。Android プロジェクトで新しく作成された「drawable」フォルダーに画像ボタンを保存してインポートしました。XML (レイアウト) では、インポートしたボタン イメージを使用して ImageView を挿入しました。

<ImageView
   android:id="@+id/btnNewImage"
   android:layout_width="210dp"
   android:layout_height="50dp"
   android:layout_marginLeft="10dp"
   android:layout_marginTop="7dp"
   android:src="@drawable/new_image" />

挿入された画像はまったく異なり、はるかに大きくなっています。Android サイズの正確な幅と高さの値を計算するにはどうすればよいですか?

4

2 に答える 2

2

デバイスの dpi を知る必要がある場合は、次のスニペットを使用します。

 int dpi = getResources().getDisplayMetrics().densityDpi;

dp からピクセルに変換する場合:

 int px = (int)(dp * getResources().getDisplayMetrics().density + 0.5f);

ピクセルから dp に変換する場合:

 int dp = (int)(px / getResources().getDisplayMetrics().density + 0.5f);
于 2013-07-09T19:02:05.980 に答える
1

画像を適切なサイズで表示するには、正しい「描画可能」フォルダーに画像を配置する必要があります。たとえば、48x48 ピクセルのアイコンがある場合は、drawable-mdpi にする必要があります。理想的には、Android が画面サイズと解像度に基づいて最適なものを選択できるように、フォルダーごとにグラフィックを作成する必要があります。

私は自分のアイコンに次のガイドラインを使用しています (これはどこかから拾ってきたもので、今では忘れられています)。これらを推定して、必要なピクセル寸法を把握できます。

Recommended drawable sizes - to match size of launcher icon, about 3/8"
36x36 - low
48x48 - med
72x72 - high
96x96 - extra high
于 2013-07-09T19:29:35.307 に答える