2012-02-14 10 views
9

1x1 Android widget'i yaratıyorum.1x1 Android Widget, WXGA720 ekranında 2x2 tarihinde eklendi

ldpi (120 DPI) = 72 * (120/160) == 54 x 54 pixels 
mdpi (160 DPI) = 72 * (160/160) == 72 x 72 pixels 
hdpi (240 DPI) = 72 * (240/160) == 108 x 108 pixels 
xhdpi (320 DPI) = 72 * (320/160) == 144 x 144 pixels 

Termometrem şartname: şu şekildedir: Ben her ekran yoğunluğu için görüntüleri tasarladık WVGA800 ekranlarında

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
    android:minWidth="72dip" 
    android:minHeight="72dip" 
    android:updatePeriodMillis="1000" 
    android:initialLayout="@layout/widget"> 
</appwidget-provider> 

(hdpi), widget 1x1 olduğunu. WXGA800 ekranlarında (mdpi), widget 1x1'dir. WXGA720 ekranlarında (xhdpi), widget 2x2'dur.

Birisi bana burada neyin yanlış olduğunu gösterebilir mi?

+1

Sadece onaylamak için uygulama widget'ınızın 288x288 pikseli olduğunu mu söylüyorsunuz? BTW, 'updatePeriodMillis'' '1000', minimum süre 30 dakika olduğu için etkisiz olacaktır. – CommonsWare

+0

Evet, aslında updatePeriodMillis kullanmıyorum. Bu sadece kaldırılacak bir kalıntı. Widget'ım 2x2 tarihinde eklendi, ancak resim 144x144. Yani, 2x2 widget'ının sol üst kısmında görünen 1x1 resmi var. Diğer 3 "hücreler" boş, ancak işgal edilemez. Widget seçim ekranı (Android 4.0.3) bunu 2x2 widget olarak gösterir. – vulcanfk

cevap

12

önce Android 4.0: (n * 74dip) - 2dip http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html

Android 4.0: 70 × n - otomatik olarak eklenir dolgu da var 30 http://developer.android.com/guide/practices/ui_guidelines/widget_design.html#anatomy

zaman android: targetSdkVersion = "14 veya daha yüksek "ayarlandı.

+0

Yanıt için teşekkürler. İlginç olan, 2 Android 4.0.3 AVD'm var ve 1x1 widget olarak gösteriliyor, diğeri ise 2x2 widget'ını gösteriyor. Benim AndroidManifest.xml specifices: My WXGA800 emülatörü (mdpi) Android 4.0.3 çalışıyor. 1x1 widget'ını doğru şekilde oluşturur. Bu ayrıca Transformer Prime'ım üzerinde 1x1 widget olarak yansıtılıyor. WXGA720 emülatörüm (xhdpi) ayrıca Android 4.0.3 çalıştırıyor. 2x2 tarihinde bir widget olarak ortaya çıkarır. – vulcanfk

+1

İlginç. 40dip vice 72dip belirtmek için v14 + için ayrı bir widget_info.xml ekledim. Artık tüm 4.0.3 test cihazlarında doğru bir şekilde işleniyor. Herhangi bir resmi yeniden boyutlandırmadım ya da v14 + için farklı çekilişler belirtmedim. – vulcanfk

+0

Birisi bunun nasıl mantıklı olduğunu açıklayabilir mi? Yani, widget tüm sürümlerde aynı görünüyor, bu yüzden Android 2.3 ve Android 2.3 üzerinde 40dp 40dp alabilir? Teşekkürler. – Ran