如何将卡片视图宽度设置为嵌套的文本视图宽度



我创建了一个CardView小部件,里面有一个TextViewTextView的文本在运行时中更改。如何将CardView宽度绑定到TextView宽度?

到目前为止我尝试过:

CardView中,我添加了android:layout_alignLeft="@id/textViewUser"但它不起作用,因为TextView无法使用此方法嵌套。知道吗?

CardView项的代码段如下所示。请注意,我删除了约束以使其更短。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/relativeLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <androidx.cardview.widget.CardView
        android:id="@+id/cardViewUser"
        android:layout_width="300dp"
        android:layout_height="30dp"
        android:layout_marginStart="10dp"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp"
        android:layout_marginBottom="10dp"
        card_view:cardCornerRadius="4dp"
        card_view:elevation="14dp">
        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:layout_marginTop="8dp"
                android:layout_marginEnd="8dp"
                android:layout_marginBottom="8dp"
                android:text="I change during runtime"
                android:id="@+id/textViewUser"/>
        </androidx.constraintlayout.widget.ConstraintLayout>
    </androidx.cardview.widget.CardView>
</RelativeLayout>

如果我理解正确,您希望保持CardView的宽度与TextView的连接。你可以尝试这样的事情:

<androidx.cardview.widget.CardView
    android:id="@+id/cardViewUser"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:layout_marginStart="10dp"
    android:layout_marginTop="10dp"
    android:layout_marginEnd="10dp"
    android:layout_marginBottom="10dp"
    card_view:cardCornerRadius="4dp"
    card_view:elevation="14dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginBottom="8dp"
            android:text="I change during runtime"
            android:id="@+id/textViewUser"/>
</androidx.cardview.widget.CardView>

相关内容

  • 没有找到相关文章

最新更新