美文网首页
android 约束布局 ConstraintLayout 使用

android 约束布局 ConstraintLayout 使用

作者: 简单快乐6 | 来源:发表于2020-05-28 13:46 被阅读0次

问题:在RecyclerView的item内使用ConstraintLayout布局由于字体过长超出屏幕了。

让TextView的横向权重(layout_constraintHorizontal_weight)为1,并且相对于左边控件和最右边的边对齐。

app:layout_constraintHorizontal_weight="1"

layout_constraintRight_toRightOf="parent"

app:layout_constraintEnd_toEndOf="parent"

经查询官方文档发现被ConstraintLayout 包裹的控件不支持 match_parent 的取值,但实际在AS中使用的时候,并没有match_constraint ,所以实际使用时 使用0dp 表示 match_constraint 即可。原文Widgets dimension constraints描述如下:Important: MATCH_PARENT is not supported for widgets contained in a ConstraintLayout, though similar behavior can be defined by using MATCH_CONSTRAINT with the corresponding left/right or top/bottom constraints being set to "parent".

<?xml version="1.0" encoding="utf-8"?>

    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_marginRight="16px"

    android:layout_height="84px">

        android:id="@+id/iv_icon"

        android:layout_width="64px"

        android:layout_height="64px"

        android:layout_marginStart="16px"

        app:layout_constraintBottom_toBottomOf="parent"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toTopOf="parent"

        app:layout_constraintStart_toEndOf="parent"

        app:srcCompat="@mipmap/icon" />

        android:id="@+id/tv_study_name"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="10px"

        android:layout_marginTop="16px"

        android:text="TextView"

        android:textColor="@color/color333333"

        android:textSize="@dimen/textSize_16"

        android:maxLines="1"

        android:ellipsize="end"

        app:layout_constrainedWidth="true"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHorizontal_weight="1"

        app:layout_constraintRight_toRightOf="parent"

        app:layout_constraintStart_toEndOf="@+id/iv_icon"

        app:layout_constraintTop_toTopOf="parent" />

        android:id="@+id/iv_address_icon"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginStart="10px"

        android:layout_marginTop="12px"

        app:layout_constraintStart_toEndOf="@+id/iv_icon"

        app:layout_constraintTop_toBottomOf="@+id/tv_study_name"

        app:srcCompat="@drawable/icon_address_grey" />

        android:id="@+id/tv_address_name"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginTop="10px"

        android:layout_marginStart="4px"

        android:text="TextView"

        android:textColor="@color/color999999"

        android:textSize="@dimen/textSize_14"

        android:maxLines="2"

        android:ellipsize="end"

        app:layout_constrainedWidth="true"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHorizontal_bias="1.0"

        app:layout_constraintHorizontal_weight="1"

        app:layout_constraintRight_toRightOf="parent"

        app:layout_constraintStart_toEndOf="@+id/iv_address_icon"

        app:layout_constraintTop_toBottomOf="@+id/tv_study_name" />

</androidx.constraintlayout.widget.ConstraintLayout>

相关文章

网友评论

      本文标题:android 约束布局 ConstraintLayout 使用

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