1

私のアプリでは、いくつかの画像を追加しています。すべての測定に dp を使用しています。Eclipse で利用可能なさまざまなサイズでこれをテストすると、さまざまなデバイスで異なるように表示されることがわかりました。

ここに画像の説明を入力

(ロリポップが異なる長さで満たされているのを参照してください)。

これを回避し、すべてのデバイスで同様のルック アンド フィールを作成することをお知らせください

以下がレイアウトです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="15" 
android:orientation="vertical">  

<LinearLayout
    android:id="@+id/ll0"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="5"  
    android:orientation="horizontal" > 

                <LinearLayout
                android:id="@+id/ll1"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_weight="4"  
                android:orientation="vertical" > 

                    <LinearLayout
                    android:id="@+id/ll1A" 
                    android:layout_weight="3" 
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >
                        <ImageButton
                        android:id="@+id/imOption1"
                        android:layout_width="90dp"
                        android:layout_height="90dp" 
                        android:layout_gravity="center"
                        android:background="@drawable/repeat" />
                    </LinearLayout>


                    <LinearLayout
                    android:id="@+id/ll1B" 
                    android:layout_weight="3" 
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >
                        <ImageButton
                         android:id="@+id/imOption2"
                        android:layout_width="90dp"
                        android:layout_height="90dp"
                        android:layout_gravity="center" 
                         android:background="@drawable/repeat"/> 
                     </LinearLayout>

                    <LinearLayout
                        android:id="@+id/ll1C" 
                        android:layout_weight="3" 
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical" >

                        <ImageButton
                        android:id="@+id/imOption3"
                        android:layout_width="90dp"
                        android:layout_height="90dp"
                        android:layout_gravity="center" 
                        android:background="@drawable/repeat"/>
                    </LinearLayout>
            </LinearLayout> 

                <LinearLayout
                android:id="@+id/ll2"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_weight="4"  
                android:orientation="vertical" > 

                    <LinearLayout
                    android:id="@+id/ll2A" 
                    android:layout_weight="3" 
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >
                        <ImageButton
                        android:id="@+id/imOption4"
                        android:layout_width="90dp"
                        android:layout_height="90dp" 
                        android:layout_gravity="center"
                        android:background="@drawable/repeat" />
                    </LinearLayout>


                    <LinearLayout
                    android:id="@+id/ll2B" 
                    android:layout_weight="3" 
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >
                        <ImageButton
                         android:id="@+id/imOption5"
                        android:layout_width="90dp"
                        android:layout_height="90dp"
                        android:layout_gravity="center" 
                         android:background="@drawable/repeat"/> 
                     </LinearLayout>

                    <LinearLayout
                        android:id="@+id/ll2C" 
                        android:layout_weight="3" 
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical" >

                        <ImageButton
                        android:id="@+id/imOption6"
                        android:layout_width="90dp"
                        android:layout_height="90dp"
                        android:layout_gravity="center" 
                        android:background="@drawable/repeat"/>
                    </LinearLayout>
            </LinearLayout>


            <LinearLayout
                android:id="@+id/ll3"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_weight="4"  
                android:orientation="vertical" > 

                    <LinearLayout
                    android:id="@+id/ll3A" 
                    android:layout_weight="3" 
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >
                        <ImageButton
                        android:id="@+id/imOption7"
                        android:layout_width="90dp"
                        android:layout_height="90dp" 
                        android:layout_gravity="center"
                        android:background="@drawable/repeat" />
                    </LinearLayout>


                    <LinearLayout
                    android:id="@+id/ll3B" 
                    android:layout_weight="3" 
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >
                        <ImageButton
                         android:id="@+id/imOption8"
                        android:layout_width="90dp"
                        android:layout_height="90dp"
                        android:layout_gravity="center" 
                         android:background="@drawable/repeat"/> 
                     </LinearLayout>

                    <LinearLayout
                        android:id="@+id/ll3C" 
                        android:layout_weight="3" 
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical" >

                        <ImageButton
                        android:id="@+id/imOption9"
                        android:layout_width="90dp"
                        android:layout_height="90dp"
                        android:layout_gravity="center" 
                        android:background="@drawable/repeat"/>
                    </LinearLayout>
            </LinearLayout>  

            <LinearLayout
                android:id="@+id/ll4"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_weight="3"
                android:weightSum="9"
                android:background="#FFFF99" 
                android:orientation="vertical" >  


             <LinearLayout
              android:id="@+id/ll4A"
              android:layout_alignParentLeft="true" 
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:orientation="vertical" >
                  <ImageView
                      android:id="@+id/ivDisplayArea"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:scaleType="centerCrop" 
                      android:layout_gravity="center"
                      android:background="@drawable/repeat"/>
                   </LinearLayout>  
            </LinearLayout>
</LinearLayout>
 <LinearLayout
    android:id="@+id/ll5"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="10"  
    android:orientation="horizontal"> 
             <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center"
             android:gravity="center"
             android:background="#FF6633"
             android:text="Reward Account "
             android:textColor="#FFFFFF"
             android:textStyle="bold" />

            <ImageButton
                 android:id="@+id/bReward1"
                 android:layout_width="30dp"
                 android:layout_height="30dp"
                 android:layout_gravity="center" 
                 android:layout_marginLeft="10dp"
                 android:background="@drawable/lollipop" /> 

            <ImageButton
                 android:id="@+id/bReward2"
                 android:layout_width="30dp"
                 android:layout_height="30dp"
                 android:layout_gravity="center" 
                 android:layout_marginLeft="7dp"
                 android:background="@drawable/lollipop" /> 

            <ImageButton
                 android:id="@+id/bReward3"
                 android:layout_width="30dp"
                 android:layout_height="30dp"
                 android:layout_gravity="center" 
                 android:layout_marginLeft="7dp"
                 android:background="@drawable/lollipop" /> 

            <ImageButton
                 android:id="@+id/bReward4"
                 android:layout_width="30dp"
                 android:layout_height="30dp"
                 android:layout_gravity="center" 
                 android:layout_marginLeft="7dp"
                 android:background="@drawable/lollipop" /> 

            <ImageButton
                 android:id="@+id/bReward5"
                 android:layout_width="30dp"
                 android:layout_height="30dp"
                 android:layout_gravity="center" 
                 android:layout_marginLeft="7dp"
                 android:background="@drawable/lollipop" /> 

            <ImageButton
                 android:id="@+id/bReward6"
                 android:layout_width="30dp"
                 android:layout_height="30dp"
                 android:layout_gravity="center" 
                 android:layout_marginLeft="7dp"
                 android:background="@drawable/lollipop" /> 

            <ImageButton
                 android:id="@+id/bReward7"
                 android:layout_width="30dp"
                 android:layout_height="30dp"
                 android:layout_gravity="center" 
                 android:layout_marginLeft="7dp"
                 android:background="@drawable/lollipop" /> 

            <ImageButton
                 android:id="@+id/bReward8"
                 android:layout_width="30dp"
                 android:layout_height="30dp"
                 android:layout_gravity="center" 
                 android:layout_marginLeft="7dp"
                 android:background="@drawable/lollipop" /> 

            <ImageButton
                 android:id="@+id/bReward9"
                 android:layout_width="30dp"
                 android:layout_height="30dp"
                 android:layout_gravity="center" 
                 android:layout_marginLeft="7dp"
                 android:background="@drawable/lollipop" /> 

            <ImageButton
                 android:id="@+id/bReward10"
                 android:layout_width="30dp"
                 android:layout_height="30dp"
                 android:layout_gravity="center" 
                 android:layout_marginLeft="7dp"
                 android:background="@drawable/lollipop" /> 


</LinearLayout>




</LinearLayout>
4

1 に答える 1

1

これは実際には正しい動作です。Android は、画面密度や画面サイズに関係なく、グラフィック アイテムが同じ物理サイズに保たれるように動作します。

そのため、人の指先のサイズを意図したボタン グラフィック イメージを選択した場合、そのグラフィックは、デバイスの特性に関係なく、常にまったく同じ物理サイズ (インチ単位のサイズ) で表示される必要があります。


すべてのデバイスで同じように見えるように画面をレイアウトし、画面サイズに応じて同じ外観を大きくしたり小さくしたりしたい場合は、次の 2 つの方法があります。

  1. Density-Independent-Pixels " dip" (または同等の " dp") を使用する代わりに、 Scale-Independent-Pixels " sip" (または同等の " sp" - システムのフォント サイズでスケーリングする) または " px" ( ピクセルの場合) を使用して、グラフィック コンポーネントのサイズ。
  2. すべての画像を「res/drawable」フォルダーに追加する代わりに、同じファイル名の異なるサイズの画像をさまざまな「res/drawable-ldpi」、「res/drawable-mdpi」、「res/drawable-hdpi」、および「res/drawable-xhdpi」フォルダー。

適切な画像サイズを得るには、画像サイズを試してみる必要がありますが、比率は次の場所で定義されています: Launcher Icons: Size and Format

于 2013-03-25T06:53:12.027 に答える