2016-04-18 91 views
0

我想實現一個TextView在CardView中垂直滾動,如果文本太大而不適合。CardView中的可滾動TextView

不幸的是,這段代碼不能按預期工作。請問你能幫幫我嗎?

<LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:padding="5dp"> 

     <ImageView 
      android:id="@+id/imageViewBookImage" 
      android:layout_width="80dp" 
      android:layout_height="120dp" /> 

     <TextView 
      android:id="@+id/textViewBookName_EN" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="BookName_EN" /> 


      <ScrollView 
       android:id="@+id/textAreaScroller" 
       android:layout_width="fill_parent" 
       android:layout_height="173px" 
       android:layout_x="0px" 
       android:layout_y="25px" 
       android:scrollbars="vertical"> 

       <TextView 
        android:id="@+id/textViewBookDescription" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:lines="7" 
        android:text="Book Description" /> 
      </ScrollView> 

    </LinearLayout> 

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

一個TextView將成爲自身滾動。您是否嘗試過簡單地使用TextView而不使用ScrollView呢? – NoChinDeluxe

+0

Hi NoChinDeluxe。感謝您的回覆。是的,我有和文本,如果太久,CardView不幸顯示。 –

+0

我認爲這是因爲您將TextView中的'lines'屬性設置爲「7」。嘗試刪除該行,併爲您的TextView'layout_height'放置「match_parent」。 – NoChinDeluxe

回答

0

在你Activity這一行添加到您的TextView:如果其含量超出其邊界

TextView tv; 
... 

tv = (TextView) findViewById(R.id.textViewBookDescription); 
tv .setMovementMethod(new ScrollingMovementMethod());