Android学习笔记——常用布局

一、布局

    在Android中,有五种常见的布局方式。
  • FrameLayout(框架布局)

  • LinearLayout(线性布局)

  • AbsoluteLayout(绝对布局)

  • RelativeLayout(相对布局)

  • TableLayout(表格布局)

1. Frame框架布局

  • 特点:放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖上一个子元素
  • 应用场景 :适合浏览单张图片。

2.LinearLayout线性布局

-特点:主要提供控件水平或垂直排列的模型,每一个子组件都是以垂直或水平的方式来线性排列(默认为垂直)。
-应用场景:最常用的布局方式

LinearLayout中有一个重要的属性:android:layout_weight="1",这个weight代表权重。

3.Absolute绝对布局

  • 已淘汰不考虑

4.RelativeLayout相对布局

  • 特点:以某一个组件作为参照物,来定位下一个组件的位置的布局方式
  • 应用场景:适配神器,推荐使用

5.TableLayout表格布局

  • 特点:使用TableRow布局,其中TableRow代表一行。TableRow中的每一个视图组件代表一个单元格。

二、布局属性配置

1、五种Layout中Item的基础属性

  • layout_width&layout_height
    设置组件的宽度和高度
  • layout_margin+方位&padding+方位
    设置组件的外边距和内边距
  • layout_gravity&gravity
    确定view的位置

2、各种Layout的特有属性

2.1 FrameLayout

作为最简单的Layout,只具备基本属性

2.2 AbsoluteLayout

已淘汰,不研究。

2.3 TableLayout

除了基础属性外,还具有一个LinearLayout的属性

2.4 LinearLayout

  • orientation
    设置布局内控件的排列方式
    vertical 垂直-默认值
    horizontal 水平

  • layout_weight
    比例分配属性
    设置权重,按比例分配界面的空间。

2.5 RelativeLayout

a 相对于父空间

XML属性 说明
layout_alignParent+方位 相对于父控件方位对齐
layout_centerVertical 当前父控件的纵向中间位置
layout_centerHorizontal 当前父控件的横向中间位置
layout_centerInParent 当前父控件的纵横向中间位置

b 相对于给定控件

XML属性 说明
layout_above 使当前控件位于给出id控件的上方
layout_below 使当前控件位于给出id控件的下方
layout_toLeftOf 使当前控件位于给出id控件的左侧
layout_toRightOf 使当前控件位于给出id控件的右侧
layout_alignBottom 使当前控件与给出id控件的底部部重合
layout_alignLeft 使当前控件与给出id控件的左边重合
layout_alignRight 使当前控件与给出id控件的右边重合
layout_alignTop 使当前控件与给出id控件的顶部重合
layout_alignBaseline 使当前控件的BaseLine与给出id控件t的BaseLine重合

例如:

android:layout_below = "@+id/tab_imageview"

3.选择器selector.xml的属性

3.1 作用

通过设置selector.xml可以使控件在不同操作下显示不同的样式。

3.2 属性

XML属性 说明
android:drawable 放一个drawable资源
android:state_pressed 按下状态,如一个按钮触摸或者点击。
android:state_focused 取得焦点状态,比如用户选择了一个文本框。
android:state_hovered 光标悬停状态,通常与focused state相同,它是4.0的新特性
android:state_selected 选中状态
android:state_enabled 能够接受触摸或者点击事件
android:state_checked 被checked了,如:一个RadioButton可以被check了。
android:state_enabled 能够接受触摸或者点击事件

以上属性的取值都是boolean属性。

3.3 举例说明

添加一个button_selector.xml

< selector xmlns:android="http://schemas.android.com/apk/res/android">

 < !-- 指定按钮按下时的图片 -->
 

 < !-- 指定按钮松开时的图片 --> 
 

4.布局形状shape.xml的属性


//默认颜色

//哪个方向有边框线
  
     //边框线颜色、大小
    

你可能感兴趣的:(Android学习笔记——常用布局)