私は、Desire HD (217dpi、4.3 インチ) と Nexus 7 (216dpi、7 インチ) の 2 つのデバイスを持っています。私は実際にメニューを構築していて、寸法に夢中になっています。私は一般的に dp (Density-independent Pixels) を使用しています。
私たちのデザイナーは、オプションがデフォルトよりも少し大きいことを望んでいるので、アイテムandroid:minHeight="100dp"
のベースにを追加しました. ListView
しかし、タブレットとモバイルでは大きく異なります。これは、両方のスクリーンショットが同じ高さになるように、タブレットのスクリーンショットのサイズを 62% に変更したスクリーンショットです。
ただし、どちらのオプションも 100 dp の高さですが、ご覧のとおり、テーブルではギャップが大きく異なり、約 0.5/1/0.5 で見栄えは良いのですが、モバイルでは 1/1/1 で見栄えが悪くなります。なぜこれが起こるのかわかりません。
黄色のボックスで両方とも 100% スケーリングされていることがわかるように、カウンターもあります。タブレットは角の丸い長方形を作りますが、モバイルでは円のようになります。どちらも同じ shape xml を使用しています:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="2dp"
android:color="#fff" />
<solid android:color="#f00" />
<padding android:left="4dp"
android:top="2dp"
android:right="4dp"
android:bottom="2dp" />
<corners
android:bottomRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
</shape>
なぜこれらの画像はそれほど異なって見えるのでしょうか? ほぼ同じdpi値を比較してみました。どちらのデバイスも密度の hdpi を持っていると思います。したがって、dpi に基づいて個別の値ファイルを使用することはできません。大きなプレフィックスを使用することはできますが、これが大きなタブレットでどのように表示されるかはわかりません。