我创建了一个CardView
小部件,里面有一个TextView
。TextView
的文本在运行时中更改。如何将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>