探讨相对布局的重要特性和属性

android:layout_alignParentLeft="true"

android:layout_width="fill_parent"

android:layout_toLeftOf="@+id/Button01"

现在让我们来讨论一些帮助配置相对布局和它的子控件的属性。一些特定的属性用于相对布局,也就是子规则,包括:

·用于子控件在父布局中居中的规则,包括:水平居中,垂直居中,或者两者皆居中。

·用于子控件在父布局中排布的规则,包括:在顶部,底部,左,右边缘放置。

·用于子控件相对于其它子控件排布的规则,包括:在另一个控件顶,底,左,右边缘放置。

·用于子控件相对于其它子控件放置的规则,包括:在另一个控件上面,底下,左边或右边放置。

同样的,通用的 ViewGroup-style属性也可以应用于相对布局。这些属性包括:

·通用布局参数比如layout_height(必须)和layout_width(必须)(类:ViewGroup.LayoutParams

·边距布局参数比如margin_top, margin_left, margin_rightmargin_bottom (类:ViewGroup.MarginLayoutParams)

·布局参数比如layout_heightlayout_width (类:ViewGroup.LayoutParams)

Android支持的长度单位。

·px(像素):屏幕上的点。
pixels(
像素). 不同设备显示效果相同,一般我们HVGA代表320×480像素,这个用的比较多。

·in(英寸):长度单位。

·mm(毫米):长度单位。

·pt(磅):1/72英寸。
point
,是一个标准的长度单位,1pt1/72英寸,用于印刷业,非常简单易用;

·dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px

·dip:与dp相同,多用于android/ophone示例中。
device independent pixels(
设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGAHVGAQVGA 推荐使用这个,不依赖像素。

·sp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。
scaled pixels(
放大像素). 主要用于字体显示best for textsize

为了使用户界面能够在现在和将来的显示器类型上正常显示,建议大家始终使用sp作为文字大小的单位,Android默认的字号也是用的sp

dip作为其他元素的单位,比如长度、高度。当然,也可以考虑使用矢量图形,而不是用位图。

dp是与密度无关,sp除了与密度无关外,还与scale无关。

如果屏幕密度为160,这时dpsppx是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320

那么原来TextView的宽度设成160px,在密度为3203.2寸屏幕里看要比在密度为1603.2寸屏幕上看短了一半。

但如果设置成160dp160sp的话。系统会自动将width属性值设置成320px的。

也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dpsp,系统会根据屏幕密度的变化自动进行转换.

参考资料:

dip, dp, px, sp区别
http://sifutian.iteye.com/blog/680935

更多相关文章

  1. Android(安卓)菜单(Menu)控件的使用
  2. android中ListView控件&&onItemClick事件中获取listView传递的数
  3. 其他小知识点
  4. 怎么给Android(安卓)控件添加边框(样式)?
  5. RelativeLayout
  6. android 自定义控件(邮箱边写边出格式邮箱)
  7. 自定义控件--虚线
  8. Android(安卓)自绘输入框
  9. Android(安卓)获取屏幕高宽度,密度,通知栏高度,截图等常用方法

随机推荐

  1. Android(安卓)WebView的简单使用
  2. android PreferenceActivity使用
  3. android checkBox 的选中和取消选中
  4. Rect and RectF in Android(安卓)SDK
  5. Android(安卓)P ActivityManagerService(
  6. android ListView内数据的动态添加与删除
  7. 六步骤开发和发布自己的Android(安卓)Stu
  8. Android(安卓)ImageView显示网络图片
  9. ffmpeg支持android硬件解码mediacodec
  10. Android中英文语言切换