美文网首页
2022-05-07 ConstraintLayout子控件使用

2022-05-07 ConstraintLayout子控件使用

作者: 兣甅 | 来源:发表于2022-05-07 16:39 被阅读0次
    1.异常模式代码和效果图
    image.png
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:orientation="vertical">
    
      <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/clTop"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">
    
        <TextView
          android:id="@+id/tv1"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:minHeight="38dp"
          android:textColor="@color/gray_444444"
          android:textSize="14sp"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/vLine1"
          app:layout_constraintHorizontal_weight="1.1"
          app:layout_constraintStart_toStartOf="parent"
          app:layout_constraintTop_toTopOf="parent"
          tools:text="tv1" />
    
        <View
          android:id="@+id/vLine1"
          android:layout_width="0.5dp"
          android:layout_height="0dp"
          android:background="#E2E4EC"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/tv2"
          app:layout_constraintStart_toEndOf="@id/tv1"
          app:layout_constraintTop_toTopOf="parent"
          tools:background="@color/red" />
    
        <TextView
          android:id="@+id/tv2"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:minHeight="38dp"
          android:textColor="@color/gray_444444"
          android:textSize="14sp"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/vLine2"
          app:layout_constraintHorizontal_weight="1.1"
          app:layout_constraintStart_toEndOf="@id/vLine1"
          app:layout_constraintTop_toTopOf="parent"
          tools:text="tv2" />
    
        <View
          android:id="@+id/vLine2"
          android:layout_width="0.5dp"
          android:layout_height="0dp"
          android:background="#E2E4EC"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/tv3"
          app:layout_constraintStart_toEndOf="@id/tv2"
          app:layout_constraintTop_toTopOf="parent"
          tools:background="@color/red" />
    
        <TextView
          android:id="@+id/tv3"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:minHeight="38dp"
          android:textColor="@color/gray_444444"
          android:textSize="14sp"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/vLine3"
          app:layout_constraintHorizontal_weight="3"
          app:layout_constraintStart_toEndOf="@id/vLine2"
          app:layout_constraintTop_toTopOf="parent"
          tools:text="tv3" />
    
        <View
          android:id="@+id/vLine3"
          android:layout_width="0.5dp"
          android:layout_height="0dp"
          android:background="#E2E4EC"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/tv4"
          app:layout_constraintStart_toEndOf="@id/tv3"
          app:layout_constraintTop_toTopOf="parent"
          tools:background="@color/red" />
    
        <TextView
          android:id="@+id/tv4"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:minHeight="38dp"
          android:textColor="@color/gray_444444"
          android:textSize="14sp"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toEndOf="parent"
          app:layout_constraintHorizontal_weight="1.1"
          app:layout_constraintStart_toEndOf="@id/vLine3"
          app:layout_constraintTop_toTopOf="parent"
          tools:text="tv4tv4tv4tv4tv4tv4tv4tv4tv4tv4" />
      </androidx.constraintlayout.widget.ConstraintLayout>
    
      <View
        android:layout_width="match_parent"
        android:layout_height="0.5dp"
        android:background="@color/c_E2E4EC"
        app:layout_constraintTop_toBottomOf="@id/clTop"
        tools:background="@color/red" />
    </LinearLayout>
    
    2.正常模式代码和效果图
    image.png
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:orientation="vertical">
    
      <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/clTop"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">
    
        <TextView
          android:id="@+id/tv1"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:minHeight="38dp"
          android:textColor="@color/gray_444444"
          android:textSize="14sp"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/vLine1"
          app:layout_constraintHorizontal_weight="1.1"
          app:layout_constraintStart_toStartOf="parent"
          app:layout_constraintTop_toTopOf="parent"
          tools:text="tv1" />
    
        <View
          android:id="@+id/vLine1"
          android:layout_width="0.5dp"
          android:layout_height="0dp"
          android:background="#E2E4EC"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/tv2"
          app:layout_constraintStart_toEndOf="@id/tv1"
          app:layout_constraintTop_toTopOf="parent"
          tools:background="@color/red" />
    
        <TextView
          android:id="@+id/tv2"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:minHeight="38dp"
          android:textColor="@color/gray_444444"
          android:textSize="14sp"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/vLine2"
          app:layout_constraintHorizontal_weight="1.1"
          app:layout_constraintStart_toEndOf="@id/vLine1"
          app:layout_constraintTop_toTopOf="parent"
          tools:text="tv2" />
    
        <View
          android:id="@+id/vLine2"
          android:layout_width="0.5dp"
          android:layout_height="0dp"
          android:background="#E2E4EC"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/tv3"
          app:layout_constraintStart_toEndOf="@id/tv2"
          app:layout_constraintTop_toTopOf="parent"
          tools:background="@color/red" />
    
        <TextView
          android:id="@+id/tv3"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:minHeight="38dp"
          android:textColor="@color/gray_444444"
          android:textSize="14sp"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/vLine3"
          app:layout_constraintHorizontal_weight="3"
          app:layout_constraintStart_toEndOf="@id/vLine2"
          app:layout_constraintTop_toTopOf="parent"
          tools:text="tv3" />
    
        <View
          android:id="@+id/vLine3"
          android:layout_width="0.5dp"
          android:layout_height="0dp"
          android:background="#E2E4EC"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toStartOf="@id/tv4"
          app:layout_constraintStart_toEndOf="@id/tv3"
          app:layout_constraintTop_toTopOf="parent"
          tools:background="@color/red" />
    
        <TextView
          android:id="@+id/tv4"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:minHeight="38dp"
          android:textColor="@color/gray_444444"
          android:textSize="14sp"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintEnd_toEndOf="parent"
          app:layout_constraintHorizontal_weight="1.1"
          app:layout_constraintStart_toEndOf="@id/vLine3"
          app:layout_constraintTop_toTopOf="parent"
          tools:text="tv4tv4tv4tv4tv4tv4tv4tv4tv4tv4" />
      </androidx.constraintlayout.widget.ConstraintLayout>
    
      <View
        android:layout_width="match_parent"
        android:layout_height="0.5dp"
        android:background="@color/c_E2E4EC"
        app:layout_constraintTop_toBottomOf="@id/clTop"
        tools:background="@color/red" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    
    3.问题说明

    原本想整个Item按照内容高度自适应,但是在LinearLayout嵌套ConstraintLayout时会出现无法按照自己想要的高度适配,但是改为ConstraintLayout嵌套ConstraintLayout后就好了,原理暂时没有深究,只是发现这样可以解决

    相关文章

      网友评论

          本文标题:2022-05-07 ConstraintLayout子控件使用

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