【问题标题】:Android 4x2 widgetAndroid 4x2 小部件
【发布时间】:2010-08-05 21:11:14
【问题描述】:

看着 Facebook 小部件,我意识到它是一个 4x2 单元格,这不是标准尺寸之一。我试图重新创建这种尺寸的小部件(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>

在摩托罗拉 Droid 上,此布局非常合适,但在其他设备上,ImageView 位于下方。感谢您提供任何帮助/建议。

drawable_bg.png 为 294x146px。

  • 桑迪普

【问题讨论】:

    标签: android android-widget android-layout


    【解决方案1】:

    小部件的实际大小取决于

    • 设备的显示分辨率(像素)
    • 使用过的家庭应用程序(它们有不同的通知栏和底部栏)
    • Android OS 版本(不同版本也有不同的家庭应用)

    所以最好让你的布局“fill_parent”和你的背景图像“ninepatch”图像。 还可以针对不同的显示分辨率 (dpi) 使用不同的背景图片,以使背景图片看起来更完美。

    【讨论】:

      【解决方案2】:

      我认为您应该考虑为不同的屏幕尺寸创建更多布局,并对其进行测试,以确保您的小部件在所有屏幕尺寸上看起来都不错。

      【讨论】:

        猜你喜欢
        • 2013-10-20
        • 1970-01-01
        • 1970-01-01
        • 2015-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多