Как сделать виджет размером 4х1 на домашнем экране Android? - PullRequest
16 голосов
/ 12 ноября 2011

У меня возникают трудности при разработке виджета 4x1 для Android.

Это поставщик приложений

<?xml version="1.0" encoding="utf-8"?> <appwidget-provider
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="294dp"
    android:minHeight="72dp"
    android:initialLayout="@layout/main" />

А вот main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="320dp"
    android:layout_height="100dp"
    android:gravity="center_vertical|center_horizontal"
    android:orientation="horizontal"> 
//content goes here
</LinearLayout>

Я мог видетьвиджет но размер 4х2.Я не понимаю, почему у меня не может быть размера виджета 4x1?

Спасибо

Ответы [ 2 ]

34 голосов
/ 02 июля 2012

Не думаю, что это ошибка новичка. У меня был appWidget размером 1x1.Я установил его на 72dp x 72dp, и он работал нормально .. Но похоже, что Google изменил формулу определения размера виджета с

(cells * 74) - 2

на

(cells * 70) - 30

Так что теперь по умолчаниюразмер моего виджета должен быть 40dp x 40dp ..

Источник: http://developer.android.com/guide/practices/ui_guidelines/widget_design.html#anatomy_determining_size

4 голосов
/ 15 мая 2013

В ICS должно отображаться 4x2.

Чтобы исправить это, создайте папку с именем 'res' xml-v14 ':

Определите провайдера приложения виджета с тем же именем xmlВот.просто измените minHeight на 40dp.Это исправит ошибку.

Надеюсь, это поможет вам.

...