2012-02-14 33 views
9

Tôi đang tạo tiện ích Android 1x1. Tôi đã thiết kế hình ảnh cho mỗi mật độ màn hình như sau:1x1 Widget Android hiển thị dưới dạng tiện ích 2x2 trên màn hình WXGA720

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 

My đặc điểm kỹ thuật phụ tùng:

<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> 

Trên màn hình WVGA800 (hdpi), widget là 1x1. Trên màn hình WXGA800 (mdpi), tiện ích con là 1x1. Trên màn hình WXGA720 (xhdpi), tiện ích là 2x2.

Ai đó có thể chỉ cho tôi theo hướng những gì sai ở đây không?

+1

Chỉ cần xác nhận, bạn đang nói rằng tiện ích con ứng dụng của bạn sẽ tăng lên với 288x288 pixel? BTW, 'updatePeriodMillis' của' 1000' sẽ không hiệu quả, vì thời gian tối thiểu là 30 phút. – CommonsWare

+0

Vâng, tôi không sử dụng updatePeriodMillis thực sự. Đó chỉ là một phần còn lại sẽ bị xóa. Tiện ích của tôi hiển thị dưới dạng tiện ích 2x2 nhưng hình ảnh là 144x144. Vì vậy, tiện ích 2x2 có hình ảnh 1x1 xuất hiện ở phía trên bên trái. 3 ô "khác" trống, nhưng không thể bị chiếm đóng. Màn hình lựa chọn widget (Android 4.0.3) cho thấy nó như là một widget 2x2. – vulcanfk

Trả lời

12

Trước khi Android 4.0: (n * 74dip) - 2dip http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html

Android 4.0: 70 × n - 30 http://developer.android.com/guide/practices/ui_guidelines/widget_design.html#anatomy

Ngoài ra còn có đệm được tự động thêm vào khi android: targetSdkVersion = "14 hoặc cao hơn "được đặt.

+0

Cảm ơn bạn đã phản hồi. Điều thú vị là tôi có 2 Android AVDs 4.0.3 và 1 đang hiển thị nó dưới dạng tiện ích 1x1, trong khi người kia đang hiển thị tiện ích 2x2. My AndroidManifest.xml specifices: giả lập WXGA800 của tôi (mdpi) đang chạy Android 4.0.3. Nó hiển thị chính xác nó như một widget 1x1. Điều này cũng được phản ánh như một widget 1x1 trên Transformer Prime của tôi. Trình giả lập WXGA720 (xhdpi) của tôi cũng đang chạy Android 4.0.3. Nó làm cho nó như là một widget 2x2. – vulcanfk

+1

Thú vị. Tôi đã thêm một widget_info.xml riêng cho v14 + để chỉ định 40dip phó 72dip. Nó bây giờ ám một cách chính xác trên tất cả các thiết bị thử nghiệm 4.0.3. Tôi đã không thay đổi kích thước bất kỳ hình ảnh nào hoặc chỉ định các hình vẽ khác nhau cho v14 +. – vulcanfk

+0

Ai đó có thể giải thích nó có hợp lý không? Tôi có nghĩa là, các widget trông giống nhau trên tất cả các phiên bản, vậy làm thế nào nó có thể mất 40dp trên Android 4 và 72dp trên Android 2.3? cảm ơn. – Ran

Các vấn đề liên quan