標籤:
想自適應哪個解析度的就在你的工程res下添加values-XXXxXXX(如:values-values-1024x600)檔案夾,在檔案夾裡建立dimens.xml檔案格式如下:<?xml version="1.0" encoding="utf-8"?><resources> <dimen name="text_size">40sp</dimen> </resources> 布局檔案引用: <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="abcdefg" android:textSize="@dimen/text_size"/> 簡要說明字型單位:
px(象素): 螢幕實際的象素,常說的解析度1024*768pixels,就是橫向1024px, 縱向768px,不同裝置顯示效果相同。
in(英寸): 螢幕的物理尺寸, 每英寸等於2.54厘米。
mm(毫米): 螢幕的物理尺寸。
pt(點) : 螢幕的物理尺寸。1/72英寸。
dp/dip : 與密度無關的象素,一種基於螢幕密度的抽象單位。在每英寸160點的顯示器上,1dp = 1px。但dp和px的比例會隨著螢幕密度的變化而改變,不同裝置有不同的顯示效果。
sp : 與刻度無關的象素,主要用於字型顯示best for textsize,作為和文字相關大小單位。
XML: android:textSize="@dimen/some_name"
Java: float dimen = Resources.getDimen(R.dimen.some_name)
xml樣本:
· <?xml version="1.0" encoding="utf-8"?>
· <resources>
· <dimen name="one_pixel">1px</dimen>
· <dimen name="double_density">2dp</dimen>
· <dimen name="sixteen_sp">16sp</dimen>
· </resources>
通過螢幕尺寸計算一定比例的字型大小:
- public static int getFontSize(int screenWidth, int screenHeight) {
- screenWidth=screenWidth>screenHeight?screenWidth:screenHeight;
-
- int rate = (int)(5*(float) screenWidth/320);
- return rate<14?14:rate;
- }
android 字型大小自適應