Android02Android API Guide学习和常用布局及基本UI控件



   
   
   
Android API Guide学习和 LinearLayout 布局及基本UI控件

一、Android UI框架:【了解】

        Android中所有的UI(用户界面)元素都是使用ViewViewGroup对象建立的,View是一个可以将一些信息绘制在屏幕上并与用户产生交互的对象,而ViewGroup是一个包含多个的ViewViewGroup的容器,用来定义UI布局。

        Android提供了一系列的ViewViewGroup的子类,开发者可以灵活地组合使用它们来完成界面布局、界面元素绘制和用户交互等工作,同时,开发者还可以选择性地继承一些系统提供的View,来自定义View,把自己定义的界面元素显示给用户。

        Android使用View类作为界面开发的超类,所有的界面开发都与View有关。多个View是一个ViewGroup,但ViewGroup本身继承自View,所以,Android界面由ViewViewGroup随意组合而成,Android的界面开发其实就是对View及其各种子孙类做操作。


二、View和ViewGroup

   AndroidUI开发使用层次模型来完成,一般都是在一个ViewGroup中嵌套多层ViewGroup,每一层中含有随意数目的View。我们可以将整个屏幕看做一个ViewGroup,它同时也是一个View,而在这个整体的ViewGroup之中,又有多个ViewGroupView,每个ViewGroup中又可以有多个子ViewGroupView。基本结构如下图所示。


三、布局的介绍:【了解】
1、在4.0以前版本中一共有五种布局,都是ViewGroup的子类。分别是AbsoluteLayout、RelativeLayout、LinearLayout、FrameLayout、TableLayout。而TableLayout是LinearLayout的子类。(中文分别是:绝对布局、相对布局、线性布局、帧布局、表格布局)。
2、在2.2操作系统中将AbsoluteLayout过期。而目前FrameLayout、TableLayout也逐渐少用。
3、在4.0之后又新增GridLayout。(GridLayout最经典的案例是计算器界面)
总之,Android中一共有 六种布局。目前推荐使用 RelativeLayoutLinearLayout、 GridLayout三种布局。

四 、View类的常用xml属性:
(一)、类结构:
java.lang.Object
   ↳  android.view.View

(二)、View及其子元素常用属性:(各种布局及控件的共同属性)
  1. android:id
  2. android:background 
  3. android:onClick     为该控件的单击事件绑定监听器
  4. android:padding    设置控件四周的填充区域
  5. android:visibility    设置该控件是否可见(invisible/visible/gone)
  6. android:alpha        设置该组件透明度
  7. android:layout_height      子组件的布局高度
  8. android:layout_width        子组件的布局宽度
  9. android:layout_margin     设置子组件的外边距

五、LinearLayout:【掌握
(一)、概念:线性布局控制其中的控件或组件横向或纵向排列。不线性布局布局中,每一行或每一列只能放一个控件。并且线性布局不会换行。当控件排列到窗体边缘,后面的控件就被隐藏,而不会显示出来。
线性布局的默认方向是水平方向(Horizontal)。

(二)、 LinearLayout的常用 属性:
1.android:orientation     定义布局内控件或组件的排列方式
可选项:vertical (所有控件竖直摆放)、 horizontal(所有控件水平摆放)

2.android:layout_width    定义控件的宽度
可选项:fill_parent / match_parent/ wrap_content/绝对数值
备注:fill_parent / match_parent的效果完全一致,都是填充整个父控件。但是自2.2版本开始推荐使用match_parent 。wrap_content指的是该控件的宽度正好包裹内容物。

3.android:layout_height    定义控件的高度
可选项:fill_parent / match_parent/ wrap_content/绝对数值
备注:fill_parent / match_parent的效果完全一致,都是高度填充整个父控件。wrap_content指的是该控件的高度正好包裹内容物。

4.android:id   设置控件的id。这样就可以在R.java中自动生成相应的值,在程序中通过findViewById就可以调用。
设置id的格式为:android:id = "@+id/id的名字"

5.android:background     设置控件的背景颜色或背景图片
例如:android:background="#ffffff"
          android:background="@drawable/图片名称"
【备注:】
颜色有RGB颜色格式和ARGB格式。G R B是红绿蓝三原色。而ARGB是带alpha的三原色,即有透明度的三原色。
#FFFFFF 代表白色
#000000  黑色
#FFFFFFFF   完全不透明
#00FFFFFF   完全透明
#88FFFFFF   半透明


【备注:】 sp、dp、dip、pt、px等单位的区别?
  1. dpi    dpi指像素密度。dots per inch  ,即每英寸内像素点的个数。它不是表示长度的单位。在android中认为:低(120dpi),中(160dpi),高(240dpi),超高(320dpi)。随着技术的增长,实际dpi已经超出这个定义范围。
  2. dip    device independent pixels  ,即与设备无关的像素。目前这个单位已经被dp所取代,而不建议使用dip。
  3. dp     与dip的概念一样。不过dp已经取代了dip。在Android中用来表示非文字大小的尺寸。例如:外边距、内填充等。
  4. sp      scale  independent  pixel  ,即与缩放比例无关的像素。在android中常用来表示文字大小。
  5. px      表示像素。因为同样是200px,但是在不同手机下显示的大小是不同的。
  6. pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
  7. sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。
  8. in(英寸):长度单位。
  9. mm(毫米):长度单位。
  • 总之:dp是用来定义非文字的尺寸,sp用来定义文字大小。px只用于产生一条一像素的分割线时使用。
       1. dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这 这个,不依赖像素。
    这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能你的屏幕分辨率很大如480
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值