Android Textview 只显示一行,多余部分显示"..."

android:singleLine="true",单行显示

<TextView
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/PopNameList" 
android:singleLine="true"
android:ellipsize="end"
android:textStyle="bold"  //加粗字体
android:textSize="15sp"
android:width="120dp"/>

android:ellipsize="end"

在TextView 和 EditText中,可以使用ellipsize来设置文字溢出隐藏,如:“一段很长的文本...”

用法如下:

在xml中

android:ellipsize = "end"   省略号在结尾

android:ellipsize = "start"   省略号在开头

android:ellipsize = "middle" 省略号在中间

android:ellipsize = "marquee" 跑马灯

最好加一个约束android:singleline = "true" 或者 android:maxLines="1"

  • 当然也可以用代码语句
tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));

tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));

tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));

tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));

最好再加一个约束tv.setSingleLine(true);

注:EditText中不支持marquee模式!

以下显示两行,超出多余显示...

<TextView
android:id="@+id/question_listitem_title" 
         android:layout_width="fill_parent" 
       android:layout_height="wrap_content"
        android:includeFontPadding="false"
        android:textStyle="bold"//加粗字体
        android:textSize="@dimen/text_size_15"
        android:textColor="@color/listitem_black"
        android:maxLines="2"
       android:ellipsize="end"/>  

对于多行的时候,比如4行,想设置溢出隐藏,可是发现只最多只能显示两行,不知是否android的bug。

<TextView

android:maxLines="4"

android:ellipsize="end"

......

/>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • RelativeLayout 第一类:属性值为true可false android:layout_centerHr...
    兀兀沙弥阅读 8,172评论 0 15
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,742评论 25 709
  • 时光冉冉,小时候老师问我们长大后想做什么,同学们回答积极,有的说科学家,有的说警察叔叔,有的说飞行员等等!到最后也...
    会上树的潴阅读 1,625评论 0 1
  • 1.下载 下载并解压nexus-2.13.0-01-bundle.tar.gz文件 cd /opt mkdir n...
    Sx_Ren阅读 1,603评论 0 0

友情链接更多精彩内容