1

私は、Desire HD (217dpi、4.3 インチ) と Nexus 7 (216dpi、7 インチ) の 2 つのデバイスを持っています。私は実際にメニューを構築していて、寸法に夢中になっています。私は一般的に dp (Density-independent Pixels) を使用しています。

私たちのデザイナーは、オプションがデフォルトよりも少し大きいことを望んでいるので、アイテムandroid:minHeight="100dp"のベースにを追加しました. ListViewしかし、タブレットとモバイルでは大きく異なります。これは、両方のスクリーンショットが同じ高さになるように、タブレットのスクリーンショットのサイズを 62% に変更したスクリーンショットです。

2 つのスクリーンショット

ただし、どちらのオプションも 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 に基づいて個別の値ファイルを使用することはできません。大きなプレフィックスを使用することはできますが、これが大きなタブレットでどのように表示されるかはわかりません。

4

3 に答える 3

1

これは、両方のデバイスの DPI が同じで、ピクセルと画面サイズ (インチ単位) が異なるために発生します。Android の場合、どちらも HDPI です (216-217dpi のため)。これは次の方法で解決できます。

  1. nexus 7 または 7 インチのタブレット専用のレイアウトを作成します。
  2. values-sw600dp/styles.xml のような nexus 7 専用のスタイルを作成します。
  3. レイアウトを調整して、より大きな次元を追加します。

より多くのスペースと画面があるので、タブレット用に別のレイアウトを作成することが「Google ソリューション」になると思います。Gmail または Google Play アプリを確認します。

基本的に、アプリがタブレットで適切に動作する必要がある場合は、レイアウトと値用に 2 つの新しいフォルダーを追加する必要があります。

  1. layout-sw600dp ---> nexus 7 または 7 インチ タブレット
  2. layout-sw720dp ---> nexus 10 または 10 インチ タブレット

この助けを願っています!!

于 2013-02-18T12:58:55.567 に答える