在不同的解析度下,Android字型大小怎麼自適應解析度的變化?
假設需要適應320x240,480x320解析度。在res目錄下建立檔案夾values-320x240, values-480x320。然後在檔案夾 values ,values-320x240 和 values-480x320 下建立xml檔案dimens.xml,該xml檔案內容如下:
1234 |
<? xml version = "1.0" encoding = "utf-8" ?> < resources > < dimen name = "btnTextSize" >14dip</ dimen > </ resources > |
針對不同的解析度,btnTextSize的值不同。在布局檔案中,用下面的方式引用該值:
1234 |
< TextView android:layout_width = "fill_parent" android:layout_height = "wrap_content" android:gravity = "center" android:id = "@+id/lblSet" style = "@style/btntext" android:textSize = "@dimen/btnTextSize" > </ TextView > |
通過這種方法,可以方便設定在不同解析度下,字型的大小了。當然,不僅僅字型大小,寬和高等其他的一些屬性,也可以通過類似的方式來設定
layout中設定圖片自適應大小,並且設定最大寬高,當圖片的寬高大於設定的最大值時,寬高值為設定的最大值。
[xhtml] view plaincopyprint?
- <ImageView android:id="@+id/image_view"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:adjustViewBounds="true"
- android:maxWidth="42dp"
- android:maxHeight="42dp"
- android:scaleType="fitCenter"
- android:layout_marginLeft="3dp"
- android:src="@drawable/icon"
- />
<ImageView android:id="@+id/image_view"<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content"<br /> android:adjustViewBounds="true"<br /> android:maxWidth="42dp"<br /> android:maxHeight="42dp"<br /> android:scaleType="fitCenter"<br /> android:layout_marginLeft="3dp"<br /> android:src="@drawable/icon"<br /> />
關鍵代碼:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxWidth="42dp"
android:maxHeight="42dp"