我有一个在 AVD 和真实设备上看起来不同的 Android 小部件。
我不知道有什么区别以及如何解决它...
这是它在 AVD 上的样子:
这是它在设备上的样子(摩托罗拉 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>