0

ここ数日、レイアウトを考えていました。

それらのレイアウトは、480x800 画面の携帯電話ではきれいに見えますが、540x960 画面の携帯電話ではめちゃくちゃです。

密度によってスケーリングされることを期待して dp を使用しました。

何がうまくいかないのですか?

レイアウト xml のコードは次のとおりです。

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

  android:layout_margin="15dip"
  android:background="@drawable/gshock5">



    <TextView
        android:id="@+id/widgetday"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_marginRight="50dip"
        android:layout_marginTop="95sp"
        android:layout_centerInParent="true"
        android:text="DAY" 
        android:textColor="#003300"
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:textStyle="bold"/>


    <TextView
        android:id="@+id/widget1label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/widgetday"
        android:layout_centerHorizontal="true"
        android:clickable="true"

        android:textColor="#003300"
        android:text="Error"
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textStyle="bold"/>

     <RelativeLayout 
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"

         android:layout_centerHorizontal="true"
         android:layout_marginTop="210dip">

         <Button android:text="Click Me!" 
        android:id="@+id/button" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"


        />


     </RelativeLayout>


</RelativeLayout>
4

2 に答える 2

0
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="15dip"
    android:background="@drawable/gshock5"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/widgetday"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_marginRight="50dip"
        android:layout_marginTop="95dip"
        android:text="DAY"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="#003300"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/widget1label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/widgetday"
        android:layout_centerHorizontal="true"
        android:clickable="true"
        android:text="Error"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#003300"
        android:textStyle="bold" />

    <Button
        android:id="@+id/button"
        android:layout_centerHorizontal="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/widget1label"
        android:text="Click Me!" />

</RelativeLayout>

これで問題が解決する場合があります。UI には最小限のレイアウトを使用するようにしてください。

于 2012-06-25T12:58:17.430 に答える
0

線形レイアウトを使用してみてください。デバイスが変更されたときは、スケーリングされていることを確認してください。しかし、相対レイアウトを使用すると、それらは相対的に配置されてから拡大縮小されるため、おそらく混乱します。

于 2012-06-24T12:47:43.377 に答える