2017-07-14 34 views
0

enter image description hereAndroid XML:當TextView包含另一個TextView時使用ellipsize?

如設計所示,我需要這ellipsizes當它遇到另一個TextView的一個TextView(讓我們忘記了小箭頭圖像現在)。展開按鈕位於底部,而容器的最大高度是固定的。

我發佈的代碼現在不起作用,因爲TextView重疊。請建議更改。

<?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" 
 
    android:id="@+id/expandable" 
 
    tools:context="akshay.expandableview.MainActivity" 
 
    android:layout_width="208dp" 
 
    android:layout_height="wrap_content" 
 
    android:maxHeight="204dp" 
 
    android:background="#abcdef" 
 
    android:padding="8dp"> 
 

 
    <TextView 
 
     android:id="@+id/content" 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:textSize="16dp" 
 
     android:lineSpacingMultiplier="1.2" 
 
     android:textColor="#000" 
 
     android:ellipsize="end" 
 
     android:maxLines="8" 
 
     android:text="It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like)."/> 
 

 
    <TextView 
 
     android:id="@+id/expand_btn" 
 
     android:layout_width="70dp" 
 
     android:layout_height="20dp" 
 
     android:background="#fedcba" 
 
     android:layout_alignBottom="@+id/content" 
 
     android:layout_alignParentRight="true" 
 
     android:text="Expand" 
 
     android:gravity="center"/> 
 

 
</RelativeLayout>

回答

0

您可以檢查您的TextView是ellipsized:

boolean isElipsized = false; 
Layout layout = textview1.getLayout(); 
if(layout != null) { 
    int lines = layout.getLineCount(); 
    if(lines > 0) { 
     int ellipsisCount = layout.getEllipsisCount(lines-1); 
     if (ellipsisCount > 0) { 
      isElipsized = true; 
     } 
    } 
} 

if(isElipsized) { 
    //show the "show more" view 
} 

周圍流動另外一個TextView的,你可以使用this問題

相關問題