2010-03-30 231 views
1

從Android窗口小部件的屏幕指南http://developer.android.com/guide/practices/ui_guidelines/widget_design.html我們知道,主屏幕有4 * 4個單元格,並且在縱向上,每個單元格的寬度爲80像素,高度爲100像素。大屏幕或hdpi的主屏幕小部件大小?

我認爲這些是基線HVGA屏幕。對於大屏幕和hdpi屏幕,他們是否仍然有4 * 4個單元格用於小部件,並且每個單元格在縱向上仍然是80像素* 100像素?

謝謝。

回答

2

您所指的像素是與設備無關的像素。正如你在the documentation here中看到的:

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
    android:minWidth="294dp" 
    android:minHeight="72dp" 
    android:updatePeriodMillis="86400000" 
    android:initialLayout="@layout/example_appwidget" 
    android:configure="com.example.android.ExampleAppWidgetConfigure" > 
</appwidget-provider> 

請注意他們是如何使用dp單位,而不是px。這允許小部件正確地縮放到不同的屏幕分辨率。

至於屏幕是4x4單元,這是默認的Android主屏幕管理器的屬性。無論屏幕分辨率如何,使用默認的Android主屏幕時,主屏幕都是4x4單元格。

還有其他家庭屏幕管理器有超過4x4的單元格,如愛可視平板電腦上的自定義主屏幕管理器。如果你想讓你的appwidget在其他一些主屏幕管理器中工作,這些管理器可以做特殊的事情,比如增加屏幕上的單元格數量,或者允許文本輸入和滾動應用程序部件,那麼你可能不得不編寫一個自定義版本你的那些主屏幕管理器的小部件。

因此,對於您的問題的答案,假設您始終針對默認的主屏幕管理器,則屏幕總是4x4單元格,只要您堅持使用與設備無關的像素,就沒有任何額外的工作要做您的appwidget可在更高分辨率下正確縮放並正常工作。

+0

感謝您的意見。 還有一個問題。對於大屏幕和hdpi屏幕,一個單元仍然是80dip * 100dip縱向。 我問過這個,因爲我需要在小部件中繪製視圖。 謝謝。 – user256239 2010-03-30 18:12:01

+0

據我所知,單元格大小總是80dip和100dip。 – 2010-03-30 18:21:26

+0

深埋在SDK(http://developer.android.com/guide/topics/resources/providing-resources.html)中,它說「因此在三種密度之間有3:4:6的縮放比例」 。所以正常的(MDPI)單元尺寸是80x100,而大的(HDPI)單元尺寸是120x150。 – Andy 2010-11-09 03:57:27

2

當您使用圖像時,必須將它們以不同的尺寸放入項目目錄中的相關文件夾中。

示例: - 對圖像視圖使用100dip寬度 - 在文件夾「drawable-mdpi」中,您應該將.png寬度設置爲100px。 - 文件夾「drawable-hdpi」.png寬度爲150px - 文件夾「drawable-ldpi」.png寬度爲75px