Android中TextView内容过长未显示省略号的问题

问题描述:

按照UI设计,某个页面展示数据超长时,需要显示出省略号。
预期展示(有省略号):



实际展示(无省略号):


具体代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="          " />
    <View
        android:id="@+id/view"
        android:layout_width="1dp"
        android:layout_height="19dp"
        android:layout_weight="1"
        android:background="@color/colorAccent" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:ellipsize="end"
        android:text="测试测试测试测试测试测试测试测试测试测试测试测试测试测试" />

</LinearLayout>

原因分析:

在同事的协助下,终于发现了代码存在的问题。上面用作分隔用的View中多了坑爹的android:layout_weight="1"。关于layout_weight的原理,可以参考链接。它会导致最后将剩余的控件分配给该控件,导致了TextView的省略号显示不出来了。
PS:不过这个地方还有一个疑问,如果前面第一个TextView删除掉的话,则不会存在此问题。

解决方案:

删除View定义中多处的layout_weight属性。

附录:

https://www.cnblogs.com/net168/p/4227144.html

安卓开发技术分享: https://www.jianshu.com/p/442339952f26

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,880评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,150评论 2 59
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,792评论 0 17
  • 能成功的人,毕竟是少数。但每个人都有成功的机会,只是我们没有好好地成长,成熟!在不应该的阶段去幻想着成功,注定失败...
    笙歌笑_e822阅读 242评论 0 0
  • 1.背景 我们做的一个小型项目,包含了一个小型的直播。这个直播是别人提供直播源和点播源的,所以不需要我们对直播源困...
    Hugh1029阅读 5,411评论 0 0