2012-02-10 3 views
1

мой appwidget определяется с помощью следующего виджета-провайдера-инфоWidget занимает больше места, чем это должно

<?xml version="1.0" encoding="utf-8"?> 
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
    android:configure="de.firepower.andwol.widget.AndWOLWidgetConfigure" 
    android:initialLayout="@layout/widget" 
    android:minHeight="72dp" 
    android:minWidth="72dp" 
    android:previewImage="@drawable/icon" 
    android:resizeMode="horizontal|vertical" 
    android:updatePeriodMillis="180000" > 

</appwidget-provider> 

и следующий макет ...

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="@dimen/widget_margin" android:orientation="vertical" android:background="@drawable/appwidget_dark_bg"> 
    <ImageButton 
     android:id="@+id/widgetbutton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:src="@drawable/icon" 
     android:scaleType="fitCenter" 
     android:contentDescription="@string/cd_wake_host"> 
    </ImageButton> 
    <TextView 
     android:id="@+id/widgettext" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:text="@string/placeholder_hostname" android:textSize="8dp" 
     android:layout_marginBottom="2dp"/> 
</LinearLayout> 

Я думал, что он должен взять 1x1 квадрат но он занимает 2x2 квадрата, и я не знаю, почему. Я мог получить только 1x1, если я определяю minHeight и Width ниже 60dp в Widget-Provider-Info. Кто-нибудь знает/видит, что я делаю неправильно?

Заранее спасибо :-)

ответ

2

Взгляните сюда: http://developer.android.com/guide/practices/ui_guidelines/widget_design.html#anatomy_determining_size

Чтобы получить виджет с размером 1x1 клеток, вам нужно установить размер округлить 40dp по высоте и ширине.

+0

Да, никогда не думал, что это будет так просто. Благодаря! :-) – Thomas

+0

Просто уточнить; по-видимому, 72 для pre ICS, но с 40 раундов до 1 ячейки, а также вы можете сделать 40 для всех устройств. Вы столкнулись бы с некоторыми проблемами, когда у вас есть более одного диапазона ячеек. – MrJre

Смежные вопросы