`
ck19860613
  • 浏览: 87403 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

多字文本android:ellipsize不正常工作的解决办法

 
阅读更多

参考:
1.Ellipsize not working for textView inside custom listView

2.Ellipsize functionality in TextView does not put ellipsis for single line multi-word text

当TextView中的文本内容长度超过了TextView的宽度,如果是单行,超出部分将被截断,此时我们都会使用android:ellipsize,该属性可以用了来省略显示文本,但很可能不像我们原以为的那样工作。

 

比如,我们配置了这样一个标准的TextView

 <TextView 
        android:text="如果是一段很长的文本,内容长度超出了这个View的宽度,我们想要一行显示,且超出部分在末端以省略号'……'表示,但实际上没有这样工作,而是文本超出的多余的部分被截断了。如:文本内容为'My name is Eric, i am a good boy.'被截断成了'My name is Eric'而不是'My name is Eric.....' " 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:ellipsize="end" />

 

可以设置singleLine="true"解决问题,然而这个方法已经被废弃了不推荐使用,我们可以简单实现和singleLine相同的效果(红字部分)。正常工作的解决办法如下

 

android:ellipsize="end" 
android:lines="1"
android:scrollHorizontally="true"







 

2
1
分享到:
评论
1 楼 lichong951 2013-05-17  
很不错,多谢!

相关推荐

    android:ellipsize

    在Android开发中,`android:ellipsize`是一个非常重要的属性,它用于控制当TextView中的文本超过指定宽度时如何进行省略显示。这个属性主要应用于显示长文本,尤其是在有限的空间内,如列表项或者对话框中,使得内容...

    Android基于TextView属性android:ellipsize实现跑马灯效果的方法

    在Android开发中,实现跑马灯效果通常是为了在有限的空间内展示较长的文本内容,而TextView控件提供了这样的功能。跑马灯效果是指文本在TextView内自动滚动,从一端移动到另一端,循环往复,给人一种类似跑马灯的...

    详解Android TextView属性ellipsize多行失效的解决思路

    而设置`android:ellipsize="middle"`则期望省略号出现在文本的中间,但是当结合`android:maxLines`限制了最多显示的行数后,"middle"模式往往无法正常工作,只会显示"end"模式的效果。 为了解决这个问题,我们可以...

    Android之TextView实现文字过长时省略部分或者滚动显示

    1. **`android:ellipsize="start"`**:表示当文本超出显示区域时,在文本的开头添加省略号(…),而保留文本的结尾部分完整。 2. **`android:ellipsize="end"`**:这是最常用的一种方式,当文本过长时,在文本的...

    android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法

    然而,有时设置 `ellipsize` 属性并未按预期工作,特别是当文本行数超过三行时。本文将深入探讨这个问题,并提供一种解决方案。 首先,我们需要了解 `ellipsize` 属性。在 `TextView` 中,`ellipsize` 属性用于指定...

    Android 实现TextView上下滚动效果

    `android:ellipsize`属性用于指定当文本超过单行时如何处理,我们可以将其设置为`marqueeRepeatLimit`,使其产生滚动效果。 不过,`android:singleLine`属性在API 17及以上版本已被弃用,此时应使用`android:...

    android textview 无焦点 跑马灯 水平滚动

    `android:singleLine`属性用于将文本限制为一行,`android:ellipsize`属性则控制当文本超出视图范围时如何处理。在实现跑马灯效果时,我们通常会结合这两个属性。但是,从Android API 26(即Android Oreo)开始,`...

    适应多行长文本的Android TextView

    在Android开发中,`TextView`是用于展示文本的常用组件,但默认情况下,它并不支持自动适配多行显示。为了使`TextView`能够适应不同长度的文本,我们需要进行一些定制化处理,尤其是在处理长文本时,可能需要考虑...

    Android实现在TextView文字过长时省略部分或滚动显示的方法

    1. `ellipsize="start"`:省略号会出现在文本的开头,通常不常见,因为用户可能无法理解省略的内容是什么。 2. `ellipsize="end"`:这是最常见的设置,省略号出现在文本末尾,保留了文本的开头部分,让用户能大致...

    Android 多个TextView文字横向自动滚动(可点击)

    在Android开发中,有时我们需要创建一个展示多条信息的视图,例如新闻标题,而屏幕空间有限时,我们可以实现文字的横向自动滚动效果。这个功能可以让用户在有限的屏幕上查看更多的内容,同时保持良好的用户体验。...

    Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)

    TextView可以通过 android:ellipsize=end android:singleLine=true实现单行省略, 但是当我们要是图标跟着文字后面,第一时间想到用LinearLayout的layout_weight 来做,但是做出来效果不一样。 后来竟然忘记这个属性...

    Android开发EditText属性.txt

    - **作用**:设置文本对齐方式,虽然`EditText`本身不支持该属性,但在其父类`TextView`中可用。 - **示例**:`android:textAlign="center"` **10. android:textColorHighlight** - **作用**:设置选中文本的...

    android:textview组件用例

    - `android:textStyle`: 可以设置文本样式,包括`normal`(正常)、`bold`(粗体)、`italic`(斜体)或它们的组合。 - `android:textAllCaps`: 将文本转换为大写,常用于标题。 3. **文本对齐** - `android:...

    TextView解决自动换行问题

    `android:maxLength`可以限制输入字符的最大数量,但需要注意,这个属性不适用于动态加载的文本。 通过上述配置,`TextView`就能根据设定的行数自动换行并在超出时显示省略号了。在`AutoReturnTextDemo`这个示例...

    android TextView 跑马灯效果

    通常情况下,系统会自动分配焦点,但为了确保在所有情况下都能正常工作,我们可以通过`android:focusable`和`android:focusableInTouchMode`属性来手动控制。 另外,有时可能需要在代码中启动或停止跑马灯效果,这...

    android textview 文字排版 换行

    在Android开发中,`TextView`是用于展示文本的最基础且重要的组件。它不仅可以显示单行文本,还能处理复杂的文字排版,包括自动换行。本文将深入探讨`TextView`在处理文字排版和换行方面的知识,以及如何优化其性能...

    textview的展开和折叠

    `android:ellipsize`属性用于指定当文本超出指定行数时如何进行省略,常见的有`end`(在末尾添加省略号)和`marquee`(跑马灯效果)等。 实现TextView的展开和折叠通常有两种方法:使用内置的`android:ellipsize`...

    Android TextView查看更多

    在上面的示例中,`android:maxLines="2"`限制了`TextView`最多显示两行,`android:ellipsize="end"`表示当文本超出限制时,在末尾进行省略。 接着,为了实现"点击查看更多"的功能,我们需要为`TextView`添加点击...

    android开发textview属性详情

    3. android:ellipsize:设置当文字过长时的显示方式,例如 start 表示在开头显示省略号,end 表示在结尾显示省略号,middle 表示在中间显示省略号,marquee 表示以跑马灯方式显示。 二、文本编辑属性 1. android:...

Global site tag (gtag.js) - Google Analytics