2017-07-14 78 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问题

相关问题