美文网首页Android技术知识Android知识
Android _ ConstraintLayout控件

Android _ ConstraintLayout控件

作者: Otldan | 来源:发表于2017-03-06 10:04 被阅读0次


    继承至ViewGroup

    第一步:下载最新版的Android Studio

    第二步:添加依赖

    compile 'com.android.support.constraint:constraint-layout:1.0.0'

    概念:

    ConstraintLayout约束布局的含义: 根据布局中的其他元素或视图, 确定View在屏幕中的位置. 包含三个重要信息, 根据其他视图设置位置, 根据父容器设置位置, 根据基准线设置位置.


    使用

    layout_constraint[本源]_[目标]="[目标ID]"

    约束列表

    layout_constraintLeft_toLeftOf

    layout_constraintLeft_toRightOf

    layout_constraintLeft_toRightOf

    layout_constraintRight_toRightOf

    layout_constraintTop_toTopOf

    layout_constraintTop_toBottomOf

    layout_constraintBottom_toTopOf

    layout_constraintBottom_toBottomOf

    layout_constraintBaseline_toBaselineOf

    layout_constraintStart_toEndOf

    layout_constraintStart_toStartOf

    layout_constraintEnd_toStartOf

    layout_constraintEnd_toEndOf

    app:layout_constraintBaseline_toBaselineOf  表示此控件与某个控件水平对齐

    举例

    layout_constraintTop_toTopOf

    约束当前Button的底部至目标id为lay_root(代表我的父布局)的底部, 目标View是ConstraintLayout. 表明, 把当前View放置到lay_root(父容器)的底部, 并且底部一致.

    layout_marginLeft

    如果想使用它,必须设置layout_constraintLeft_toLeftOf(必须对应,如何设置右,必须设置toRight),否则将不能实现margin的设置

    layout_constraintLeft_toRightOf  设置按钮2相对于按钮1的位置。意思是:按钮2左边在按钮1的右边'


    Margins边距

    android:layout_marginStart

    android:layout_marginEnd

    android:layout_marginLeft

    android:layout_marginTop

    android:layout_marginRight

    android:layout_marginBottom


    比例 ---Bias

    layout_constraintHorizontal_bias  水平比例 

    layout_constraintVertical_bias    垂直比例

    ConstraintLayout布局除了对齐属性, 还有重要的比例属性. 中心(Center)按钮需要把全部边界与constraintLayout(父容器)边界对齐, 则为居中. 还可以设置layout_constraintHorizontal_bias和layout_constraintVertical_bias但必须设置约束(layout_constraintRight_toRightOf相对于父布局的right约束,如果不设置将无法使用比例)

    app:layout_constraintVertical_bias="0.3"


    视图尺寸

    ConstraintLayout布局中的控件也可以设置填充尺寸. 控件把宽度设置为0dp会自动根据位置进行填充. 如button4按钮, 左侧对齐与button2按钮的右侧, 右侧对齐与lay_root父控件的右侧, 宽度设置为0dp, 实际会填充全部位置.


    引导线

    ConstraintLayout布局除了与布局对齐以外, 还可以与引导线(Guideline)对齐. 设置竖直引导线(Guideline)距离左侧72dp. 按钮(Button4)的左侧都与引导线对齐(个人认为类似LinearLayout设置内边距一样)

    app:layout_constraintGuide_begin

    表示在布局中引导线距顶部或左边框的距离(如:20dp表示距顶部或者左边框20dp)

    app:layout_constraintGuide_end

    表示在布局中引导线距底部的距离(如:10dp表示距顶部10dp)

    app:layout_constraintGuide_percent

    表示在整个布局中引导线距离左边框的百分百(如:app:layout_constraintGuide_percent="0.5"表示距离左边框50%的位置)


    视图纵横比(高宽比)

    ConstraintLayout布局还可以使用constraintDimensionRatio设置视图的纵横比, 则需要把宽(layout_width)或者高(layout_height)设置为0dp, 根据另一个属性和比例, 计算当前属性

    绝对坐标点

    app:layout_editor_absoluteX

    表示此控件在布局中X轴的绝对坐标点

    app:layout_editor_absoluteY

    表示此控件在布局中Y轴的绝对坐标点。


    具体请看demo

    download.csdn.net/detail/otldan/9764703

    相关文章

      网友评论

        本文标题:Android _ ConstraintLayout控件

        本文链接:https://www.haomeiwen.com/subject/nxpygttx.html