Android AppWidget, массовое несоответствие макета - PullRequest
0 голосов
/ 21 сентября 2011

Я создаю виджет приложения, и у меня странная проблема. В редакторе графического макета 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 ]

1 голос
/ 21 сентября 2011

Вы вручную устанавливаете height вашего RelativeLayout и height вашего ImageViews на 107dp, и ваши изображения могут не вписываться в ваш ImageView. Таким образом, вы должны учитывать следующее:

0 голосов
/ 21 сентября 2011

Проблема закончилась тем, что я установил размер для контейнера RelativeLayout.Видимо, вы не можете этого сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...