【Android】常用控件及布局

目录

Android View概览

常用布局

线性布局 LinearLayout 

相对布局 RelativeLayout

表格布局 TableLayout

网格布局 GridLayout

帧布局 FrameLayout

绝对布局 AbsoluteLayout

常用控件

TextView

EditText

Button

ImageView

ProgressBar

ListView

RecyclerView


 

Android View概览

All:

【Android】常用控件及布局_第1张图片

Important:

【Android】常用控件及布局_第2张图片

 

常用布局

  • 线性布局 LinearLayout 

    • 水平或垂直的顺序排列布局
    • 布局方向 -- android:orientation
    • 布局权重 -- android:weight
  • 相对布局 RelativeLayout

    • 相对其他控件进行布局,默认相对父控件
    • 常用属性:
      •        android:layout_centerHrizontal 水平居中 
      •   android:layout_centerVertical 垂直居中 
      •   android:layout_centerInparent 相对于父元素完全居中 
      •   android:layout_alignParentBottom 贴紧父元素的下边缘 
      •   android:layout_alignParentLeft 贴紧父元素的左边缘 
      •   android:layout_alignParentRight 贴紧父元素的右边缘 
      •   android:layout_alignParentTop 贴紧父元素的上边缘   
      •   android:layout_below 在某元素的下方 
      •   android:layout_above 在某元素的的上方 
      •   android:layout_toLeftOf 在某元素的左边 
      •   android:layout_toRightOf 在某元素的右边 
      •   android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 
      •   android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 
      •   android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐 
      •   android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐
      •   android:layout_marginBottom 离某元素底边缘的距离 
      •   android:layout_marginLeft 离某元素左边缘的距离 
      •   android:layout_marginRight 离某元素右边缘的距离 
      •   android:layout_marginTop 离某元素上边缘的距离 
      •   android:layout_marginTop=”25dip” //顶部距离 
      •   android:gravity=”left” //空间布局位置 
      •   android:layout_marginLeft=”15dip //距离左边距 
      •   android:layout_above 将该控件的底部置于给定ID的控件之上; 
      •   android:layout_below 将该控件的底部置于给定ID的控件之下; 
      •   android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐; 
      •   android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐; 
      •   android:layout_alignBaseline 将该控件的baseline与给定ID的baseline对齐; 
      •   android:layout_alignTop 将该控件的顶部边缘与给定ID的顶部边缘对齐; 
      •   android:layout_alignBottom 将该控件的底部边缘与给定ID的底部边缘对齐; 
      •   android:layout_alignLeft 将该控件的左边缘与给定ID的左边缘对齐; 
      •   android:layout_alignRight 将该控件的右边缘与给定ID的右边缘对齐; 
      •   android:layout_alignParentTop 如果为true,将该控件的顶部与其父控件的顶部对齐; 
      •   android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐; 
      •   android:layout_alignParentLeft 如果为true,将该控件的左部与其父控件的左部对齐; 
      •   android:layout_alignParentRight 如果为true,将该控件的右部与其父控件的右部对齐; 
      •   android:layout_centerHorizontal 如果为true,将该控件的置于水平居中; 
      •   android:layout_centerVertical 如果为true,将该控件的置于垂直居中; 
      •   android:layout_centerInParent 如果为true,将该控件的置于父控件的中央; 
      •   android:layout_marginTop 上偏移的值; 
      •   android:layout_marginBottom 下偏移的值; 
      •   android:layout_marginLeft   左偏移的值; 
      •   android:layout_marginRight   右偏移的值; 
      •   android:id — 为控件指定相应的ID 
      •   android:text — 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串 
      •   android:grivity — 指定控件的基本位置,比如居中,居右。这里指的是控件中的文本位置并不是控件本身。 
      •   android:textSize — 指定控件当中字体的大小 
      •   android:background — 指定该控件所使用的背景色,RGB命名法 
      •   android:width — 指定控件的宽度 
      •   android:height — 指定控件的高度 
      •   android:padding* — 指定控件的内边距,也就是说控件当中的内容 
      •   android:sigleLine — 如果设置为真的话,则控件的内容在同一行中进行显示
  • 表格布局 TableLayout

    • 采用行、列的形式来管理控件,通过添加TableRow、其他组件来控制表格的行数和列数
    • 每向TableLayout中添加一个TableRow就代表一行
    • 每向TableRow中添加一个一个子组件就表示一列
    • 常用属性和方法
      android:collapseColumns setColumns(int, boolean) 设置需要被隐藏的列的序号,多个序号间用逗号分隔
      android:shrinkColumns setShrinkAllColumns(boolean) 设置需要被收缩的列的序号
      android:stretchColumns setStretchAllColumns(boolean) 设置允许被拉伸的列的序号
  • 网格布局 GridLayout

    • Android 4.0新增
    • 与TableLayout类似,把容器分为rows × columns个网格,每个网格可以放置一个控件
    • 常用属性和方法:
      XML属性 相关方法 说明
      android:alignmentMode setAlignmentMode(int) 设置该布局管理器采用的对齐模式
      android:columnCount setColumnCount(int) 设置该网格的列数量
      android:columnOrderPreserved setColumnOrderPreserved(boolean) 设置该网格容器是否保留序列号
      android:roeCount setRowCount(int) 设置该网格的行数量
      android:rowOrderPreserved setRowOrderPreserved(boolean) 设置该网格容器是否保留行序号
      android:useDefaultMargins setUseDefaultMargins(boolean) 设置该布局管理器是否使用默认的页边距
    • GridLayout.LayoutParams
      XML属性 说明
      android:layout_column 设置该组件在GridLayout的第几列
      android:layout_columnSpan 设置该子组件在GridLayout横向上跨几列
      android:layout_gravity 设置该子组件采用何种方式占据该网格的空间
      android:layout_row 设置该子组件在GridLayout的第几行
      android:layout_rowSpan 设置该子组件在GridLayout纵向上跨几行
  • 帧布局 FrameLayout

    • 为每个加入其中的控件创建一个空白的区域(称为一帧),每个子控件占据一帧,这些帧会根据gravity属性执行自动对齐
    • 后面控件将会覆盖或重叠在前面的控件上
    • 常用属性和方法
      XML属性 相关方法 说明
      android:foreground setForeground(Drawable) 设置该帧布局容器的前景图像
      android:foregroundGravity setForeGroundGraity(int) 定义绘制前景图像的gravity属性
  • 绝对布局 AbsoluteLayout

    • 采用绝对坐标进行布局定位,官方已经逐步弃用。

 

常用控件

  • TextView

  • EditText

  • Button

  • ImageView

  • ProgressBar

  • ListView

    • Adapter数据绑定
    • Item点击事件
    • view效率优化
  • RecyclerView

    • RecyclerView.Adapter数据绑定
    • 三种LayoutManager
      • LinearLayoutManager 
      • GridLayoutManager 
      • StaggeredGridLayoutManager
    • ViewHolder
    • Item点击事件

 

你可能感兴趣的:(Android)