首页 > 解决方案 > 如何防止编辑文本超出约束布局?

问题描述

我将约束布局高度限制为 250 dp,当它达到限制时,我希望编辑文本打开一个滚动条。但是在布局检查器中,我看到编辑文本在布局上延伸。

我将编辑文本的顶部限制为父级,将底部限制为某些图像视图。

如何防止编辑文本超出约束布局?

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="wrap_content"
    android:maxHeight="250dp">


    <EditText
        android:id="@+id/editText"
        android:layout_marginTop="5dp"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:hint="write a comment..."
        android:inputType="textCapSentences|textMultiLine"
        android:scrollIndicators="right"
        android:scrollbars="vertical"
        app:layout_constraintEnd_toStartOf="@id/resize"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@id/camera_image"/>

    <ImageView
        android:layout_width="50dp"
        android:id="@+id/camera_image"
        android:layout_height="50dp"
        android:layout_marginTop="16dp"
        android:padding="10dp"
        android:src="@drawable/ic_camera_alt_black_24dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="@id/editText"
        app:layout_constraintTop_toBottomOf="@id/editText" />

    <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_marginTop="16dp"
        android:padding="10dp"
        android:src="@drawable/ic_image_black_24dp"
        app:layout_constraintBottom_toBottomOf="@id/camera_image"
        app:layout_constraintStart_toEndOf="@id/camera_image"
        app:layout_constraintTop_toBottomOf="@id/editText" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        app:layout_constraintEnd_toEndOf="parent"
        android:text="POST"
        app:layout_constraintBottom_toBottomOf="@id/camera_image"
        app:layout_constraintTop_toTopOf="@id/camera_image" />

    <ImageButton
        android:layout_width="50dp"
        android:id="@+id/resize"
        android:layout_height="50dp"
        android:layout_marginTop="5dp"
        android:layout_marginEnd="5dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

标签: androidxml

解决方案


设置android:maxHeight="200"为您的EditText并制作它wrap_content

这应该做你想要达到的目标。

在此处阅读有关此方法的更多信息:TextView

TextView是 的父类EditText.


推荐阅读