android的屏幕适配

px: px是常用的像素单位,对应的是屏幕上的点。 所以同一个图在高像素的屏幕上看起来还要小一点。

dpi:每英寸所能印刷的点数

dp:dp是与密度无关的像素单位。它是基于设备物理密度的抽象单位。1dp表示屏幕DPI为160时1px的长度。DPI 越高的屏幕,屏幕绘制1dp 需要越多的像素,反之亦然。用dp做单位,同一张图在不同分辨率的手机上大小是一样的。所以要想适配不同分辨率的手机,还需要做不同的图。

Linear Layout 类参考:

几个常用属性:
1,android:orientation  通过设置值为 “horizontal” 或 “vertical” 让子元素按水平或垂直排列。
2,android:gravity  设置其内容(文字、视图)在该元素内的位置,通过 “|” 号分隔多个值(top,bottom,left,right,center,center_vertical,center_horizontal)。
3,android:baselineAligned  设置为”false”则统一对齐的基线,主要用于设置了不同 gravity 的可显示文字的 View 元素。这里先不展开。

1,android:layout_gravity  让子元素设置其相对于父元素中的位置,其设值和 android:gravity 一样。可能有人就会疑问了,那这两个属性有什么区别呢?
简单点理解,android:gravity 是应用于自身所包含的内容(这个内容可以是文字或子视图),而 android:layout_gravity 则是应用在自身。

(这里还要指出一个大家在线性布局中可能会遇到的问题:android:layout_gravity 设值失效问题。例如在设定了 android:orientation = “vertical” 的 LinearLayout 中,设定一个 TextView 的 layout_grivity = “top” 或者 layout_grivity = “bottom” 是失效的。同样,在 android:orientation = “horizontal” 中设定元素的 “left” 或 “right” 也会一样。为什么会这样呢?就留给小伙伴们思考了,其实想想这样设定还算是合理的。)

2,android:layout_weight  大神也有偷懒的时候,这里竟然没有说明。大神把它放在另一个地方介绍了。性质类似 Css 的弹性盒,对 -webkit-flex 设值,相当于显示权重。情况会很多,篇幅问题只能留在以后的文章加以说明。这次界面制作使用 layout_weight 的策略是:每个元素都占用“足够大的空间”,然后各自权重为1,这样一来就平均了。

Relative Layout

相对布局可以指定元素的位置。元素的位置可以定义为相邻元素的相对位置,也可以定义为父元素的相对位置。使用相对布局可以方便的控制元素的位置。在没有定义时,所有元素都是在父元素的左上方。

几个常用的属性:

  1. android:gravity 设置其内容(文字、视图)在该元素内的位置
  2. android:ignoreGravity  设置元素的ID使其不受gravity属性的影响

在 RelativeLayout.LayoutParams,有两类属性,一类是子元素在父元素的对齐方式,另一类是子元素相对其他元素的位置。

来自:http://isux.tencent.com/learn-android-from-zero-session6.html











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值