2

Facebookウィジェットを見ると、4x2セルであることがわかりましたが、これは標準サイズの1つではありません。このサイズ(320x200または294x146ピクセル)のウィジェットを再作成しようとしましたが、ウィジェットはすべてのデバイスで見栄えがよくありません。ウィジェットのレイアウトは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<!--  Portrait -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:id="@+id/widget"
    android:background="@drawable/widget_bg"
    >

        <TextView android:id="@+id/widget_title"
            android:layout_width="fill_parent" 
            android:layout_height="60dip"
            android:layout_marginTop="1dip"
            android:textSize="20.0sp"
            android:maxLines="3"
            android:textColor="#000"
            android:textStyle="bold" 
            android:gravity="center"
            android:layout_marginLeft="10dip"
            android:layout_marginRight="10dip"
            android:layout_centerHorizontal="true"
            android:layout_alignParentTop="true"
            android:ellipsize="end"
             />

            <ImageView android:id="@+id/widget_thumb"
            android:layout_width="304dip" 
            android:layout_height="90dip"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="7dip"
            android:src="@drawable/thumb_placeholder_large"
            android:adjustViewBounds="true"
            android:layout_below="@+id/widget_title"
            android:background="#000"
            />

    <!--  previous button -->
    <Button 
        android:id="@+id/widget_previous"
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="5dp"
        android:layout_marginBottom="35dp"
        android:layout_alignParentBottom="true"
        android:background="@drawable/left_button"/>

    <!--  Next Button -->
    <Button
        android:id="@+id/widget_next"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="5dp"
        android:layout_marginBottom="35dp"
        android:layout_alignParentBottom="true"
        android:background="@drawable/right_button"  />


    <!-- Indicator -->

    <LinearLayout 
        android:id="@+id/widget_progressbar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="33dp"
        android:layout_marginRight="50dp"
        android:layout_alignParentBottom="true">

        <!--  ProgressBar throws exception when it's set invisible from RemoteViews use a layout wrapper instead -->
        <ProgressBar
            android:layout_width="15dp" 
            android:layout_height="15dp">
        </ProgressBar>
    </LinearLayout>

</RelativeLayout>

Motorola Droidでは、このレイアウトは適切に適合しますが、他のデバイスでは、ImageViewがずっと下にあります。任意のヘルプ/提案をいただければ幸いです。

drawable_bg.pngは294x146pxです。

  • Sandeep
4

2 に答える 2

1

ウィジェットの実際のサイズは、

  • デバイスの表示解像度 (ピクセル)
  • 使用されているホーム アプリケーション (通知バーと下部バーが異なります)
  • Android OS のバージョン (バージョンによってホーム アプリも異なります)

したがって、レイアウトを「fill_parent」にし、背景画像を「ninepatch」画像にすることをお勧めします。また、異なるディスプレイ解像度 (dpi) に異なる背景画像を使用して、背景画像を完璧に見せます。

于 2011-07-11T19:47:07.257 に答える
0

ウィジェットがすべての画面サイズで見栄えがすることを確認できるように、さまざまな画面サイズに対してより多くのレイアウトを作成し、それらをテストすることを検討する必要があると思います。

于 2012-09-19T10:01:48.083 に答える