Android AppWidget,Massive布局差异

时间:2011-09-21 17:19:32

标签: android android-layout android-widget

我正在创建一个App Widget,我遇到了一个奇怪的问题。在Eclipse图形布局编辑器中,我的窗口小部件的布局如下所示:

How widget appears in Eclipse layout manager

但是,当我在模拟器/手机上安装它时,它看起来像这样:

How widget appears on device emulator

这是有问题的布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:layout_gravity="center_horizontal" android:gravity="center_horizontal">
    <RelativeLayout android:background="@drawable/blackbg"
        android:layout_width="290dp" android:layout_height="145dp">
        <ImageView android:layout_width="wrap_content" android:src="@drawable/clock_colon"
            android:layout_height="107dp" android:layout_marginRight="10dp"
            android:layout_marginLeft="10dp" android:layout_marginTop="5dp"
            android:layout_centerInParent="true" android:id="@+id/colon" />
        <ImageView android:layout_width="wrap_content" android:src="@drawable/num_0"
            android:layout_height="107dp" android:layout_marginRight="5dp"
            android:layout_marginLeft="5dp" android:id="@+id/hour2"
            android:layout_toLeftOf="@id/colon" android:layout_centerVertical="true" />
        <ImageView android:layout_width="wrap_content" android:src="@drawable/num_1"
            android:layout_height="107dp" android:layout_marginRight="5dp"
            android:layout_marginLeft="5dp" android:id="@+id/hour1"
            android:layout_marginTop="5dp" android:layout_toLeftOf="@id/hour2"
            android:layout_centerVertical="true" />
        <ImageView android:layout_width="wrap_content" android:src="@drawable/num_3"
            android:layout_height="107dp" android:layout_marginRight="5dp"
            android:layout_marginLeft="5dp" android:id="@+id/minute1"
            android:layout_marginTop="5dp" android:layout_toRightOf="@id/colon"
            android:layout_centerVertical="true" />
        <ImageView android:layout_width="wrap_content" android:src="@drawable/num_2"
            android:layout_height="107dp" android:layout_marginRight="5dp"
            android:layout_marginLeft="5dp" android:id="@+id/minute2"
            android:layout_marginTop="5dp" android:layout_toRightOf="@id/minute1"
            android:layout_centerVertical="true" />
        <ImageView android:layout_width="wrap_content" android:src="@drawable/clock_pm"
            android:layout_height="wrap_content" android:id="@+id/clock_ampm"
            android:layout_below="@id/minute2" android:layout_alignParentRight="true"
            android:layout_marginRight="15dp" android:layout_marginBottom="5dp" />
    </RelativeLayout>
</LinearLayout>

那你觉得怎么样?为什么这些数字被切断并且像这样奇怪地间隔。谢谢!

2 个答案:

答案 0 :(得分:1)

您正在手动设置height的{​​{1}}和RelativeLayout的{​​{1}}至height,并且您的图片可能无法正确放入ImageViews {1}}。所以你应该考虑以下几点:

答案 1 :(得分:0)

问题最终是我设置了容器RelativeLayout的大小。显然你不能这样做。