zoukankan      html  css  js  c++  java
  • 常用UI布局

    1、LinearLayout(线性布局):将布局所包含的控件在线性方向上依次排列。
    <1>android:orientation 指定了排列方向(垂直方向(vertical)、水平方向(horizontal))
    <2>android:layout_gravity 用于指定控件在布局中的对齐方式(站在子控件的角度)
    a.当LinearLayout的排列方向是horizontal时,只有垂直方向上的对齐方式才会生效;
    b.当LinearLayout的排列方向是vertical时,只有水平方向上的对齐方式才会生效。
    <3>android:weight 允许通过比例的方式来指定控件的大小,在手机屏幕的适配性方面可以起到非常重要的作用
    <4>xmlns:android..... 命名控件(和java文件中的import语句功能类似)
    <5>android:layout_width 定义当前的布局或者控件的宽度
    <6>android:layout_height 定义当前的布局或者控件的高度(宽高值是必须的属性)
    <7>android:padding 内边距。当前控件或者布局的内边缘距离里面子控件或者内容的距离,距离值得单位是dp
    <8>android:gravity 让当前布局或者控件的内容或者子布局排列的方式(站在父控件的角度)
    2、RelativeLayout(相对布局):通过相对定位的方式让控件出现在布局的任何位置。
    <1>android:layout_above 表示让一个控件位于另一个控件的上方需要指定相对控件的id的引用
    <2>android:layout_below 表示让一个控件位于另一个控件的下方
    <3>android:layout_toRightOf 表示让一个控件位于另一个控件的右侧
    <4>android:layout_toLeftOf 表示让一个控件位于另一个控件的左侧
    <5>当一个控件去引用另一个控件的id时,该控件一定要定义在引用控件的后面,不然会出现找不到id的情况
    <6>android:layout_alignLeft 表示让一个控件的左边缘和另一个控件的左边缘对齐
    <7>android:layout_alignRight 表示让一个控件的右边缘和另一个控件的右边缘对齐
    <8>android:layout_alignTop 表示让一个控件的上边缘和另一个控件的上边缘对齐
    <9>android:layout_alignBottom 表示让一个控件的下边缘和另一个控件的下边缘对齐
    <10>android:layout_alignBaseline表示和xx基准线对齐(文本对齐)
    <11>android:layout_margin 外边距。当前控件或者布局的外边缘距离最近的控件或者布局的距离
    a.内边距:主要把控件里边的间距拉大
    b.外边距:主要是把控件与控件之间的距离拉大
    <12>android:layout_alignParentRight="true" 表示让一个控件与父布局右对齐
    <13>android:layout_alignParentBottom="true" 表示让一个控件与父布局下对齐
     
    <14>android:layout_alignParentLeft="true" 表示让一个控件与父布局左对齐
    <15>android:layout_alignParentTop="true" 表示让一个控件与父布局上对齐
    <16>android:layout_centerHorizontal="true" 表示让一个控件在父布局中水平方向上居中
    <17>android:layout_centerVertical="true" 表示让一个控件在父布局中垂直方向上居中
    <18>android:layout_centerInParent="true 表示让一个控件在父布局的中心
    3、FrameLayout(帧布局):直接继承了ViewLayout组件
    帧布局容器为每个加入其中的组件创建一个空白的区域(称为一帧),每个子组件占据一帧,这些帧会根据gravity属性执行自动对齐
    <1>android:foreground 设置该帧布局容器的前景图像
    <2>android:forefroundGravity 定义绘制前景图像的gravity属性
    4、TableLayout(表格布局):继承了LinearLayout
    在表格布局管理器中,有以下三种行为方式:
    <1>Shrinkable:如果某个列被设为Shrinkable,那么该列的所有单元格的宽度可以被收缩,以保证该表格能适应父容器的宽度;
    <2>Strechable:如果某个列被设为Strechable,那么该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间;
    <3>Collapsed:如果某个列被设为Collapsed,那么该列的所有单元格会被隐藏。
    TableLayout继承了LinearLayout,因此它支持LinearLayout所支持的全部XML属性,除此以外,还支持以下属性:
    <1>android:collapseColumns setColumnCollapsed(int,boolean) 设置需要被隐藏的列的列序号(从0开始)
    <2>android:shrinkColumns setShrinkAllColumns(boolean) 设置允许被收缩的列的列序号(从0开始)
    <3>android:stretchColumns setStrechAllColumns(boolean) 设置允许被拉伸的列的列序号(从0开始)
    <4>每加入一个TableRow就表示在表格中添加了一行,然后在TableRow中每加入一个控件,就表示在该行中加入了一列(TableRow中的控件不可以指定宽度)
    5、GridLayout(网格布局)
    <1>android:alignmentMode 设置该布局管理器采用的对齐模式
    <2>android:columnCount 设置该网格的列数量
    <3>android:columnOrderPreserved 设置该网格容器是否保留列序号
    <4>android:rowCount 设置该网格的行数量
    <5>android:rowOrderPreserved 设置该网格容器是否保留航序号
    <6>android:useDefaultMargins 设置该布局管理器是否使用默认的页边距
    <7>android:layout_column 设置该子组件在GridLayout的第几列 
    <8>android:layout_columnSpan 设置该子组件在GridLayout横向上跨几列
    <9>android:layout_gravity 设置该子组件采用何种方式占据该网格的空间
    <10>android:layout_row 设置该子组件在GridLayout的第几行
    <11>android:layout_rowSpan 设置该子组件在GridLayout纵向上跨几行
    6、AbsoluteLayout(绝对布局):已经过时,官方已经不推荐使用
    <1>layout_x 指定该子组件的X坐标
    <2>layout_y 指定该子组件的Y坐标
  • 相关阅读:
    OC ----关于时间的处理
    OC-- 判断字符串是否是纯数字
    OC 判断字符串是否只存在只有空格
    将Json字符串转换为数组
    调用接口时对参数的排序、生成签名、生成随机数,获取唯一标示符
    关于UIAlertView弹出警告框自动消失
    AVAudioPlayer 获取语音的长度(时间)
    AFN 请求 https get
    TableView  — reloadData     刷新
    mapView 地图视图
  • 原文地址:https://www.cnblogs.com/android-blogs/p/5683640.html
Copyright © 2011-2022 走看看