我正在为一个应用程序设置页面,用户需要根据自己的喜好设置文本大小。我正在cardView
内预览大量示例文本,以便他们可以查看和应用更改。
我的问题是,随着文本的增加或减少,卡片视图会自动调整。更改文字后,如何防止cardView
推送其他视图?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:background="@android:color/white"
android:layout_height="match_parent"
<androidx.cardview.widget.CardView
android:id="@+id/previewView"
android:layout_margin="10dp"
android:layout_width="match_parent"
card_view:cardElevation="3dp"
card_view:cardUseCompatPadding="true"
android:layout_height="wrap_content">
<TextView
android:id="@+id/previewText"
android:text="My Text"
android:fontFamily="@font/muli_bold"
android:layout_gravity="center"
android:textSize="29sp"
android:gravity="center"
android:textColor="@color/customTextColor"
android:padding="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</androidx.cardview.widget.CardView>
<ScrollView
android:layout_below="@+id/previewView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
//other views here
</RelativeLayout>
</ScrollView>
</RelativeLayout>
答案 0 :(得分:0)
如果我正确理解了这个问题,则只需为卡设置一个恒定的高度,例如:android:layout_height="200dp"
。
因此,无论里面的文字有多大,卡片都将保持不变,但文字会被剪掉。
这是完整的CardView代码:
<androidx.cardview.widget.CardView
android:id="@+id/previewView"
android:layout_margin="10dp"
android:layout_width="match_parent"
card_view:cardElevation="3dp"
card_view:cardUseCompatPadding="true"
android:layout_height="200dp">
<TextView
android:id="@+id/previewText"
android:text="My Text"
android:fontFamily="@font/muli_bold"
android:layout_gravity="center"
android:textSize="29sp"
android:gravity="center"
android:textColor="@color/customTextColor"
android:padding="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</androidx.cardview.widget.CardView>
希望它会解决您的问题。