2017-02-21 144 views
0

我希望我的文本视图在卡片视图内只能拉伸到卡片视图宽度,并且基于文本长度适合多行。但是它发生的变化是卡片视图宽度。请找到下面的布局,并尝试更改文本长度。我希望文本视图内的卡片视图内的文本视图包裹在卡片视图内,它不应该使卡片视图可拉伸。

<?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> 
+0

你会请附上您的问题的屏幕截图。 –

回答

0

让您cardview的宽度android:layout_width="wrap_content"或给它自己的喜好对EG的固定大小:android:layout_width="20dp"那么的TextView不会扩大超出cardView的宽度