[英]Images for Different Screen sizes.?
我讀了文章http://developer.android.com/guide/practices/screens_support.html
我對此不太清楚:是否必須制作不同的XML布局以支持不同的屏幕尺寸?
也許有一個簡單的示例以更容易理解的方式解釋了這一點?
不,密度的全部要點是,一種布局應適用於所有電話和設備。 還有如何在布局布局按鈕一個很好的例子在這里 。
請注意該鏈接上的視圖之一如何具有android:layout_marginTop="94dp"
只要您使用dp,您的布局就應該適合所有設備。
換句話說:您不必擔心屏幕尺寸,只要:a)您始終以dp為單位測量距離,而不是像素b)您始終以sp為單位而不是像素來測量字體大小c)對於每個圖像,您都可以將不同大小的圖像放入不同的資源文件夾(hdpi,xdhpi等)中
如果遵循這些規則,則在所有尺寸的屏幕上,一種布局都應該看起來非常相似。
不,您不必為每個尺寸的屏幕都提供布局。 屏幕只需要有一種布局。 但是,通過利用資源系統,您可以在適當的地方提供布局的替代版本。 例如,也許您想要一種布局用於手機,另一種布局用於平板電腦。
也許不是布局xml,而是應該重復的dimen xml。
有時,如果您不必精確到小像素,使用dp可能會有所幫助。
我對此不太清楚:是否必須制作不同的XML布局以支持不同的屏幕尺寸?
否。做出相對的陳述,例如android:layout_width="match_parent"
。 使用9色塊定義可拉伸圖像。 適當的目錄drawable中依賴文件密度和屏幕尺寸的資源,例如drawable-xhdpi
。 這將意味着以不同的分辨率多次提供相同的圖像資源。 ldpi
是33.33% xhdpi
, mpdi
是50%,和hdpi
是75%。 xhpi
可與iPhone Retina媲美:如果有人為您提供iOS Retina圖像資產,則可以針對Android將這些資產相應縮小。
如果要保持向后兼容,則必須進行不同的XML布局的一個好時機。 例如,僅當Google開始擔心從右到左的文本時,才可以從API 17中使用android:layout_marginStart
。 這將在舊設備上無聲地失敗,取而代之的是,您必須在layout-v10
提供相同的布局,用android:layout_marginStart
替換為android:layout_marginLeft
。
最后,將您的Android用戶界面視為網頁。 您可以做的唯一安全的假設是必須填充空間,而不要假設必須填充多少空間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.