0

我有一个在 AVD 和真实设备上看起来不同的 Android 小部件。
我不知道有什么区别以及如何解决它...

这是它在 AVD 上的样子: AVD_layout

这是它在设备上的样子(摩托罗拉 XT910,Android 版本 2.3.6): 设备布局

这是layout.xml:

<?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="4dp"
    android:background="@drawable/background"
    android:gravity="bottom|fill_vertical"
    android:orientation="horizontal" >
    <Button
        android:id="@+id/button"
        android:layout_width="50dp"
        android:layout_height="30dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:gravity="right"
        android:text="@string/buttontxt"
        android:textSize="7sp" />

    <TextView
        android:id="@+id/widget1label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/button"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:text="@string/widget1txt"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <Button
        android:id="@+id/btnRefresh"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="50dp"
        android:layout_height="30dp"
        android:layout_alignParentLeft="true"
        android:layout_alignTop="@+id/widget1label"
        android:text="@string/refreshButtonText"
        android:textSize="7sp" />

    <Button
        android:id="@+id/btnPrev"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/btnRefresh"
        android:layout_below="@+id/btnRefresh"
        android:layout_marginTop="134dp"
        android:text="@string/prev" />

    <Button
        android:id="@+id/btnNext"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/btnPrev"
        android:layout_alignBottom="@+id/btnPrev"
        android:layout_alignParentRight="true"
        android:text="@string/next" />

    <Button
        android:id="@+id/btnSwitch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/btnNext"
        android:layout_alignBottom="@+id/btnNext"
        android:layout_centerHorizontal="true"
        android:text="@string/switch_" />

    <TextView
        android:id="@+id/tv_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView_revenueLabel"
        android:layout_alignBottom="@+id/textView_revenueLabel"
        android:layout_alignRight="@+id/btnPrev"
        android:text="@string/time" />

    <TextView
        android:id="@+id/tv_totalLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/tv_time"
        android:layout_below="@+id/tv_time3"
        android:layout_marginTop="14dp"
        android:text="@string/monthly_total"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/tv_rev3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/tv_totalLabel"
        android:layout_alignRight="@+id/textView_revenueLabel"
        android:text="@string/default_value"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/tv_time1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/btnRefresh"
        android:layout_below="@+id/tv_time"
        android:layout_toLeftOf="@+id/textView_revenueLabel"
        android:text="@string/default_date"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/tv_time2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/tv_time3"
        android:layout_alignLeft="@+id/tv_time1"
        android:layout_alignRight="@+id/tv_time1"
        android:maxWidth="60dp"
        android:text="@string/default_date"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/tv_rev2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/tv_rev1"
        android:layout_below="@+id/tv_rev1"
        android:text="@string/default_value"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/tv_time3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/tv_time2"
        android:layout_below="@+id/tv_rev2"
        android:layout_toLeftOf="@+id/textView_revenueLabel"
        android:text="@string/default_date"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/textView_impLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView_revenueLabel"
        android:layout_alignBottom="@+id/textView_revenueLabel"
        android:layout_alignRight="@+id/btnSwitch"
        android:text="@string/imps" />

    <TextView
        android:id="@+id/textView_profitLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/btnRefresh"
        android:layout_marginTop="23dp"
        android:layout_toLeftOf="@+id/button"
        android:text="@string/profit" />

    <TextView
        android:id="@+id/tv_profit1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView_profitLabel"
        android:layout_toLeftOf="@+id/button"
        android:text="@string/default_value"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/tv_profit2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tv_profit1"
        android:layout_toLeftOf="@+id/button"
        android:text="@string/default_value"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/tv_profit3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tv_profit2"
        android:layout_toLeftOf="@+id/button"
        android:text="@string/default_value"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/tv_profitTotal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/tv_totalLabel"
        android:layout_alignBottom="@+id/tv_totalLabel"
        android:layout_alignLeft="@+id/tv_profit3"
        android:text="@string/default_value"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/tv_rev1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView_revenueLabel"
        android:layout_toLeftOf="@+id/btnSwitch"
        android:text="@string/default_value"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/textView_revenueLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/tv_profit1"
        android:layout_toLeftOf="@+id/btnSwitch"
        android:text="@string/rev" />

    <TextView
        android:id="@+id/tv_imps3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/tv_imps2"
        android:layout_below="@+id/tv_rev2"
        android:text="@string/default_value"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/tv_imps2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/textView_impLabel"
        android:layout_below="@+id/tv_rev1"
        android:text="@string/default_value"
        android:textSize="8sp" />

    <TextView
        android:id="@+id/tv_imps1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/textView_impLabel"
        android:layout_below="@+id/textView_impLabel"
        android:text="@string/default_value"
        android:textSize="8sp" />

</RelativeLayout>
4

2 回答 2

0

有一些因素可以考虑 -

  1. 实际屏幕尺寸 - 这可以是小、正常、大和 x 大
  2. 屏幕 密度 - LDPI , MDPI , HDPI , XDPI
  3. 分辨率 - 320 *480 , 480 * 800 等。

小部件在具有不同特征的设备中可能看起来不同。找出您的布局如何在所有设备上显示的最佳方法是通过图片中给出的图形布局

-在此处输入图像描述

于 2013-02-13T14:55:13.383 回答
0

发现了问题。我在中定义minHeightinfo.xmlandroid:minHeight="250dp"

于 2013-02-19T13:12:53.887 回答