こんにちは私はHDPiですべてを構築した複数の画面で実行したいアプリを作成しました。そして、私がそれをより大きな画面を備えた新しいアンドロイド電話で実行すると、ものの配置が外れます。これは、DPを使用して物を配置するためのマージンを設定したためです。
私の質問は、複数の画面サイズにわたってマージンを使用するためのベストプラクティスは何ですか、および/または画面サイズに基づいてDPを分割/乗算できる設定可能なコードはありますか?
できるだけ多くのデバイスでアプリを入手したいと思っています。しかし、これは私の最初のアプリなので、これを行う方法が完全にはわかりません。ですので、どんな助けでも大歓迎です。
これが私のレイアウトの例です
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="20dip"
android:background="@drawable/bg_tablecell"
android:orientation="horizontal"
android:weightSum="1"
>
<TextView
android:id="@+id/position"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_centerVertical="true"
android:paddingLeft="4dip"
android:text="@string/POS"
android:textSize="15dip"
android:textColor="@color/blue"
/>
<TextView
android:id="@+id/TeamName"
android:layout_width="90dip"
android:layout_height="wrap_content"
android:layout_marginLeft="23dip"
android:ellipsize="end"
android:gravity="left"
android:lines="1"
android:text="@string/Team"
android:textColor="@color/blue"
android:textSize="15dip"
android:textStyle="bold"
android:layout_centerVertical="true"/>
<TextView
android:id="@+id/played"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/TeamName"
android:layout_alignBottom="@+id/TeamName"
android:layout_marginLeft="35dip"
android:layout_toRightOf="@+id/TeamName"
android:gravity="center"
android:text="@string/Zero"
android:textColor="@color/blue"
android:textSize="10dip"
android:layout_centerVertical="true"/>
<TextView
android:id="@+id/won"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/played"
android:layout_alignBottom="@+id/played"
android:layout_marginLeft="17dip"
android:layout_toRightOf="@+id/played"
android:gravity="center"
android:text="@string/Zero"
android:textColor="@color/blue"
android:textSize="10dip"
android:layout_centerVertical="true"/>
<TextView
android:id="@+id/drawn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/won"
android:layout_alignBottom="@+id/won"
android:layout_marginLeft="16dip"
android:layout_toRightOf="@+id/won"
android:gravity="center"
android:text="@string/Zero"
android:textColor="@color/blue"
android:textSize="10dip"
android:layout_centerVertical="true"/>
<TextView
android:id="@+id/lost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/drawn"
android:layout_alignBottom="@+id/drawn"
android:layout_marginLeft="16dip"
android:layout_toRightOf="@+id/drawn"
android:gravity="center"
android:text="@string/Zero"
android:textColor="@color/blue"
android:textSize="10dip"
android:layout_centerVertical="true"/>
<TextView
android:id="@+id/goalsFor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/lost"
android:layout_alignBottom="@+id/lost"
android:layout_marginLeft="16dip"
android:layout_toRightOf="@+id/lost"
android:gravity="center"
android:text="@string/Zero"
android:textColor="@color/blue"
android:textSize="10dip"
android:layout_centerVertical="true"/>
<TextView
android:id="@+id/goalsAgainst"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/goalsFor"
android:layout_alignBottom="@+id/goalsFor"
android:layout_marginLeft="17dip"
android:layout_toRightOf="@+id/goalsFor"
android:gravity="center"
android:text="@string/Zero"
android:textColor="@color/blue"
android:textSize="10dip"
android:layout_centerVertical="true"/>
<TextView
android:id="@+id/Difference"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/goalsAgainst"
android:layout_alignBottom="@+id/goalsAgainst"
android:layout_marginLeft="15dip"
android:layout_toRightOf="@+id/goalsAgainst"
android:gravity="center"
android:text="@string/Zero"
android:textColor="@color/blue"
android:textSize="10dip"
android:layout_centerVertical="true"/>
<TextView
android:id="@+id/points"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/Difference"
android:layout_alignBottom="@+id/Difference"
android:layout_marginLeft="18dip"
android:layout_toRightOf="@+id/Difference"
android:gravity="center"
android:text="@string/Zero"
android:textColor="@color/blue"
android:textSize="10dip"
android:layout_centerVertical="true"/>
スクリーンhdpi
画面xhdpi