写一个自定义view
package com.anguomob.guidelineimport android.content.Context
import android.graphics.Canvas
import android.graphics.Color
import android.util.AttributeSet
import android.view.Viewclass ZeroView constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) :View(context, attrs, defStyleAttr) {override fun onDraw(canvas: Canvas?) {super.onDraw(canvas)canvas?.drawColor(Color.RED);}}
放到布局当中
<?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="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><LinearLayoutandroid:id="@+id/left"android:layout_width="100dp"android:layout_height="match_parent"android:background="@android:color/holo_green_dark"android:orientation="horizontal"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><LinearLayoutandroid:id="@+id/right"android:layout_width="100dp"android:layout_height="match_parent"android:background="@android:color/holo_green_dark"android:orientation="horizontal"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="1231234"app:layout_constraintEnd_toEndOf="@id/right"app:layout_constraintStart_toStartOf="@id/left"app:layout_constraintTop_toTopOf="parent" /><!-- app:layout_constraintWidth_max="200dp"--><com.anguomob.guideline.ZeroViewandroid:id="@+id/tv2"android:layout_width="wrap_content"android:layout_height="40dp"android:maxWidth="200dp"app:layout_constraintEnd_toEndOf="@id/right"app:layout_constraintStart_toStartOf="@id/left"app:layout_constraintTop_toBottomOf="@id/tv" /></androidx.constraintlayout.widget.ConstraintLayout>
maxWidth好像是没有生效。
那我们通过app也就是约束布局自带的属性去约束呢
app:layout_constraintWidth_max="200dp"
<com.anguomob.guideline.ZeroViewandroid:id="@+id/tv2"android:layout_width="wrap_content"android:layout_height="40dp"app:layout_constraintEnd_toEndOf="@id/right"app:layout_constraintStart_toStartOf="@id/left"app:layout_constraintTop_toBottomOf="@id/tv"app:layout_constraintWidth_max="200dp" />
成功