我希望卡片视图内的文本视图与文本视图包裹在卡片视图内,它不应该使卡片视图可伸缩。

时间:2017-02-21 11:56:48

标签: android android-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"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.GridLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:columnCount="3"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:id="@+id/grid"
        >

        <FrameLayout
            app:layout_columnWeight="1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content
            "
            android:id="@+id/frame1"
            >

            <android.support.v7.widget.CardView
                android:id="@+id/card1"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:minHeight="96dp"

                android:layout_marginRight="3dp"
                app:cardCornerRadius="4dp">

                <TextView
                    android:id="@+id/questionText2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:scrollHorizontally="false"
                    android:maxLines="10"
                    android:text="ejweqfewdawdewasdfewefwsefwsfw"/>
                <View
                    android:id="@+id/userResponseView"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:layout_gravity="right|top"

                    android:visibility="visible"
                    android:background="@drawable/right"
                    />

            </android.support.v7.widget.CardView>


        </FrameLayout>
        <ImageView
            android:id="@+id/image1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/line"
            android:visibility="visible"/>
        <FrameLayout
            app:layout_columnWeight="1"
            android:id="@+id/frame2"
            >

            <android.support.v7.widget.CardView
                xmlns:card_view="http://schemas.android.com/apk/res-auto"
                android:id="@+id/card2"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:layout_marginLeft="3dp"
                android:minHeight="96dp"

                card_view:cardCornerRadius="4dp">

                <TextView
                    android:id="@+id/questionText5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical|center_horizontal"
                    android:text="answer1"/>

            </android.support.v7.widget.CardView>


        </FrameLayout>
        <FrameLayout
            app:layout_columnWeight="1"
            android:id="@+id/frame3"
            android:layout_marginTop="16dp"
            >
            <android.support.v7.widget.CardView
                xmlns:card_view="http://schemas.android.com/apk/res-auto"
                android:id="@+id/card3"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:minHeight="96dp"
                android:layout_marginRight="3dp"
                android:layout_gravity="center"

                card_view:cardCornerRadius="4dp">

                <TextView
                    android:id="@+id/questionText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical|center_horizontal"
                    android:text="question2"/>

            </android.support.v7.widget.CardView>


        </FrameLayout>
        <ImageView
            android:id="@+id/image2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/line"
            android:visibility="visible"/>
        <FrameLayout
            app:layout_columnWeight="1"
            android:id="@+id/frame4"
            android:layout_marginTop="16dp"
            >

            <android.support.v7.widget.CardView
                xmlns:card_view="http://schemas.android.com/apk/res-auto"
                android:id="@+id/card4"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:layout_marginLeft="3dp"
                android:minHeight="96dp"

                card_view:cardCornerRadius="4dp">

                <TextView
                    android:id="@+id/questionText1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical|center_horizontal"
                    android:text="answer2"/>

            </android.support.v7.widget.CardView>


        </FrameLayout>

    </android.support.v7.widget.GridLayout>



</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

将您的cardview的宽度设为android:layout_width="wrap_content",或者为其设定一个固定的首选大小:android:layout_width="20dp"然后textView将不会超出cardView的宽度