android中尺寸讲解Word格式文档下载.docx
《android中尺寸讲解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《android中尺寸讲解Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。
但如果设置成160dp或160sp的话。
系统会自动将width属性值设置成320px的。
也就是160*320/160。
其中320/160可称为密度比例因子。
也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换.
讲解二
2.1使用尺寸(dimen)资源
我们可以使用一些常用的尺寸单位来定义一些文字尺寸、视图组件的宽和高等。
尺寸资源是一个数字类型的数据,被定义在res\values\dimens.xml文件中。
2.1.1Android中支持的尺寸单位
在计算机中一般我们会用到的尺寸单位有厘米(cm)、毫米(mm)、像素(px)、英尺(in)等。
Android中支持的尺寸单位如表3.4所示。
表Android中支持单位
单位表示
单位名称
单位说明
px
像素
屏幕上的真实像素表示
in
英尺
基于屏幕的物理尺寸
续表
mm
毫米
pt
点
英尺的1/72
dp
和密度无关的像素
相对屏幕物理密度的抽象单位
sp
和精度无关的像素
和dp类似
2.1.2尺寸资源XML文件的定义
尺寸资源是定义在XML文件中的一些整型数值。
有关尺寸资源的定义如表3.5所示。
表3.5尺寸资源的定义和使用
资源位置
res/values/dimens.xml
尺寸XML文件格式
使用<
?
xmlversion="
1.0"
encoding="
utf-8"
>
<
resources>
根元素
dimen>
子元素:
dimenname=
dimen_name>
dimen_value<
/dimen>
获得尺寸资源的方法
getResources().getDimension()
引用尺寸资源的格式
Java代码中:
R.dimen.dimen_name
XML文件中:
@[package:
]dimen/dimen_name
2.1.3尺寸资源XML文件的使用
下面还是通过一个实例来演示尺寸资源的用法。
该实例在布局文件中添加一个TextView和一个Button,分别使用尺寸资源文件来定义它们的宽和高。
在工程的res\values\目录下创建一个dimens.xml尺寸资源文件。
1.<
xmlversion="
encoding="
2.
3.<
4.
5.
6.<
dimenname="
text_width"
150px<
7.
8.
9.<
text_height"
100px<
10.
11.
12.<
btn_width"
30mm<
13.
14.
15.<
btn_height"
10mm<
16.
17.
18.<
/resources>
19.
在工程的res\layout\目录下创建一个test_dimen.xml布局文件。
在该布局文件中添加一个TextView和一个Button。
TextView的宽和高引用尺寸资源来设置。
Button的宽和高在代码中设置。
LinearLayoutxmlns:
android="
6.android:
orientation="
vertical"
android:
layout_width="
fill_parent"
9.android:
layout_height="
11.
12.
13.<
TextView
15.
16.android:
text="
@string/test_dimen"
18.
19.android:
id="
@+id/myDimenTextView01"
20.
21.
22.android:
wrap_content"
23.
24.
25.android:
26.
27.
28.android:
width="
@dimen/text_width"
29.
30.
31.android:
height="
@dimen/text_height"
32.
33.
34.android:
background="
@color/red_bg"
35.
36.
37./>
38.
39.
40.
41.<
Button
42.
43.
44.android:
@string/test_dimen1"
45.
46.
47.android:
@+id/Button01"
48.
49.
50.android:
51.
52.
53.android:
/Button>
54.
55.
56.
57.<
/LinearLayout>
58.
在com.amaker.dimen包中,创建一个TestDimensionActivity类。
在该类顶部声明使用的Button视图组件,在onCreate()方法中实例化该组件,并定义尺寸资源设置其宽和高。
1.packagecom.amaker.ch03.dimen;
3.importandroid.app.Activity;
4.importandroid.content.res.Resources;
5.importandroid.os.Bundle;
6.importandroid.widget.Button;
8.importcom.amaker.test.R;
9./**
10.*
11.*@author郭宏志
12.*测试尺寸资源
13.*/
14.publicclassTestDimensionActivityextendsActivity{
15.privateButtonmyButton;
16.@Override
17.publicvoidonCreate(BundlesavedInstanceState){
18.super.onCreate(savedInstanceState);
19.//设置当前Activity的内容布局视图
20.setContentView(R.layout.test_dimen);
21.//通过findViewById方法获得Button实例
22.
23.myButton=(Button)findViewById(R.id.Button01);
25.//获得Resources实例
27.Resourcesr=getResources();
28.
29.//通过getDimension方法获得尺寸值
31.floatbtn_h=r.getDimension(R.dimen.btn_height);
34.floatbtn_w=r.getDimension(R.dimen.btn_width);
36.//设置按钮的宽
37.myButton.setHeight((int)btn_h);
38.//设置按钮的高
39.myButton.setWidth((int)btn_w);
40.}
41.}
运行程序,结果如图3.4所示。
图3.4尺寸资源应用