gpt4 book ai didi

android - TextView背景不换行内容

转载 作者:行者123 更新时间:2023-11-29 23:28:58 29 4
gpt4 key购买 nike

我在 ConstraintLayout 中有一个带有可绘制背景的 TextView。它的宽度设置为 0dp (match_constraint)。如果我将它设置为 wrap_content,文本将在末尾剪辑。

我希望背景只有 TextView 的大小。

This is how I'm getting it

XML:

<?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="wrap_content"
tools:layout_height="match_parent">

<TextView
android:id="@+id/message_receive"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:background="@drawable/rounded_chat_message"
android:padding="8dp"
android:textAppearance="@style/TextAppearance.AppCompat.Light.SearchResult.Subtitle"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:text="This is a received message"/>

</androidx.constraintlayout.widget.ConstraintLayout>

将其设置为wrap_content后:

enter image description here

编辑:

rounded_chat_message.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">

<gradient android:angle="0"
android:startColor="@android:color/darker_gray"
android:endColor="@android:color/darker_gray" />
<corners android:radius="16dp" />
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="16dp" />
</shape>
</item>
</layer-list>

最佳答案

要防止 TextView 在使用 wrap_content 时发生裁剪,需要设置 app:layout_constrainedWidth="true" 属性。这将在宽度设置为 wrap_content 时强制执行水平约束,因此必须设置 startend (它们在您的情况下).现在要使 TextView 保持在开头,您需要设置 app:layout_constraintHorizo​​ntal_bias="0"(或 1 对齐到结尾) .

<?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="wrap_content"
tools:layout_height="match_parent">

<TextView
android:id="@+id/message_receive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:background="@drawable/rounded_chat_message"
android:padding="8dp"
android:textAppearance="@style/TextAppearance.AppCompat.Light.SearchResult.Subtitle"
app:layout_constrainedWidth="true"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:text="Message"/>

</androidx.constraintlayout.widget.ConstraintLayout>

关于android - TextView背景不换行内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53041820/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com