美文网首页简化开发
约束布局(ConstraintLayout)的常用属性

约束布局(ConstraintLayout)的常用属性

作者: NoBugException | 来源:发表于2022-06-26 10:03 被阅读0次

    1、依赖

     implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    

    2、位置控制的常用属性

    layout_constraintLeft_toLeftOf
    layout_constraintLeft_toRightOf
    layout_constraintRight_toLeftOf
    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
    
    layout_constraintHorizontal_bias(比例,水平偏移)
    layout_constraintVertical_bias (比例,垂直偏移)
    

    3、角度定位

    layout_constraintCircle(与某空间绑定,形成角度)
    layout_constraintCircleAngle(角度)
    layout_constraintCircleRadius(半径)
    

    4、边距

    layout_marginStart
    layout_marginEnd
    layout_marginLeft
    layout_marginTop
    layout_marginRight
    layout_marginBottom
    
    layout_goneMarginStart(只有在对应的约束控件 gone 时,偏移才会生效)
    layout_goneMarginEnd(只有在对应的约束控件 gone 时,偏移才会生效)
    layout_goneMarginLeft(只有在对应的约束控件 gone 时,偏移才会生效)
    layout_goneMarginTop(只有在对应的约束控件 gone 时,偏移才会生效)
    layout_goneMarginRight(只有在对应的约束控件 gone 时,偏移才会生效)
    layout_goneMarginBottom(只有在对应的约束控件 gone 时,偏移才会生效)
    

    5、控件尺寸

    【1】直接设置固定大小
    
    【2】使用wrap_content
    
    【3】使用 0dp,约束布局中,0dp 相当于 match_parent,但官方不推荐在约束布局中使用 match_parent
    
    【4】使用 layout_constraintDimensionRatio 来设置控件的宽高比例
             需要注意的是,宽和高至少有一个为 0dp 时,该属性才会生效
             app:layout_constraintDimensionRatio="2:1"
             以上代码默认是 `宽度 : 高度`
             还可以加上字母 `W`或`H`
             app:layout_constraintDimensionRatio="W,2:1"(宽度 : 高度)
             app:layout_constraintDimensionRatio="H,2:1"(高度 : 宽度)
    
    【5】百分比
         layout_constraintWidth_percent
         layout_constraintHeight_percent
    

    6、链

    当在横向或者纵向形成一条链时,多个元素会自动居中
    
    可以在链头使用以下属性设置链的样式:
    layout_constraintHorizontal_chainStyle
    layout_constraintVertical_chainStyle
    可以设置三个属性
    spread:展开元素
    spread_inside:展开元素,链头和链尾贴近边缘
    packed:所有元素贴在一起
    
    权重也可以改变链的样式:
    layout_constraintHorizontal_weight
    layout_constraintVertical_weight
    

    7、屏障

    <androidx.constraintlayout.widget.Barrier
        android:id="@+id/barrier"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:barrierDirection="right"
        app:constraint_referenced_ids="textview1,textview2"/>
    

    8、组

    <androidx.constraintlayout.widget.Group
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:constraint_referenced_ids="textview1,textview2"
        android:visibility="invisible"/>
    

    9、占位符

    <androidx.constraintlayout.widget.Placeholder
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:content="@+id/textview1" />
    

    10、辅助线

    <androidx.constraintlayout.widget.Guideline
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_begin="50dp"/>
    
    <androidx.constraintlayout.widget.Guideline
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_end="50dp"/>
    
    <androidx.constraintlayout.widget.Guideline
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_end="50dp"
        app:layout_constraintGuide_percent="0.5"/>
    

    [完...]

    相关文章

      网友评论

        本文标题:约束布局(ConstraintLayout)的常用属性

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