首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何判断TextView文本是否由于singleLine="true“而被截断?

要判断TextView文本是否由于singleLine="true"而被截断,可以通过以下步骤进行判断:

  1. 获取TextView的实例对象。
  2. 使用TextView的getLayout()方法获取文本布局对象Layout。
  3. 使用Layout的getEllipsisCount(int line)方法,传入行号参数,判断该行是否被截断。
  4. 如果getEllipsisCount(int line)方法返回大于0的值,则表示该行被截断,否则未被截断。

以下是一个示例代码:

代码语言:java
复制
TextView textView = findViewById(R.id.textView);
Layout layout = textView.getLayout();

int lineCount = layout.getLineCount();
for (int i = 0; i < lineCount; i++) {
    if (layout.getEllipsisCount(i) > 0) {
        // 该行被截断
        // 执行相应的操作
    }
}

在上述示例代码中,我们首先获取了TextView的实例对象,然后使用getLayout()方法获取文本布局对象Layout。接着,我们通过循环遍历每一行文本,使用getEllipsisCount(int line)方法判断该行是否被截断。如果getEllipsisCount(int line)方法返回大于0的值,则表示该行被截断,可以在相应的位置执行相应的操作。

这种判断方式适用于单行或多行的TextView,并且可以判断每一行是否被截断。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Android】TextView的文字长度测量及各种padding解析

设置android:maxLines="1"和android:singleLine="true"有什么区别?...虽然我们平时只用TextView显示纯文本数据,但其实TextView支持设置Background,四周的drawable小图标,以及Span数据比如文本或图片。...至于后面那些接口的应用场景,getCompoundPadding()这个的应用场景倒是很明确,可以用来判断相应的drawable是否发生点击事件之类的需求。...设置android:maxLines="1"和android:singleLine="true"有什么区别? 官方是推荐说不要再使用singleLine,用maxLines="1"代替。...如果是maxLines="1"的话,那么就像上一问中分析的那样,所有的文字其实已经自动换行了,只显示第一行,换行是什么,就是为了让每行文字的长度超过文字区域的宽度才进行的换行,也就是说,如果一段文字经过

3.9K70

【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析

显示省略 单行设置 : 显示省略的时候, 必须设置文本行数为单行, 才能看出效果,  android:singleLine 可以设置是否单行显示; 省略设置 : 当显示文本超过了TextView长度后处理文本内容的方法...;  -- XML属性 :android.ellipsize;  -- XML属性值 :  none :不做任何处理;  start : 文本开始处截断, 显示省略号; middle : 文本中间截断,...显示省略号; end : 文本结尾处截断, 显示省略号; marquee : 使用marquee滚动动画显示文本; -- 设置方法 : setEllipsize(); 示例 :  <TextView android:layout_height="wrap_content"...android:selectAllOnFocus 如果文本框的内容可选择, 当该EditText获取焦点时是否全部选中内容 --> <

1.7K30
  • Android TextView 属性大全

    android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true。 android:inputMethod为文本指定输入法,需要完全限定名(完整的包名)。...如”1.2” android:numeric如果设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。...android:scrollHorizontally设置文本超出TextView的宽度的情况下,是否出现横拉条。...android:selectAllOnFocus如果文本是可选择的,让他获取焦点不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。...如android:text="test_ singleLine " android:singleLine=“true” android:layout_width="20dp"将只显示“t…”。

    2.6K30

    一文学会所有 Android TextView 属性,妈妈再也不担心我的代码写不好了!

    android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true。 android:inputMethod为文本指定输入法,需要完全限定名(完整的包名)。...如”1.2” android:numeric如果设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。...android:scrollHorizontally设置文本超出TextView的宽度的情况下,是否出现横拉条。...android:selectAllOnFocus如果文本是可选择的,让他获取焦点不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。...如android:text="test_ singleLine " android:singleLine=“true” android:layout_width="20dp"将只显示“t…”。

    1.6K20

    安卓开发之简单组件使用

    一、TextView组件(文本框) <TextView android:id=”@+id/firstText” android:text=”第一行“ android:gravity=”top” android...20dip” android:paddingRight=”30dip” android:paddingBottom=”40dip” android:layout_weight=”1″ android:singleLine...=”true” /> 1、 直接继承View是EditText和Button的父类;其中TextView的xml属性很多具体参考手册即可; 2、 由于TextView中只用于显示文字,如果图文混合可以绘制一个...:cursorVisible设置文本框中的光标是否可见 android:drawableTop在左侧绘制一个图像 android:editable是否可以编辑 android:ellipsize超过框长度如何处理...文本框只能输入数字 android:scrollHorizontally:设置文本框不够显示全部内容是否允许水平滚动 android:selectAllOnFocus:文本内容可选择,一般配置hint使用

    93060

    android学习笔记----软键盘换行按键效果测试(imeOptions)

    注意:看到其他的博客上写的都是用的android:singleLine="true"(因为默认是多行模式,右下角的按键是用于换行的,当设置为单行模式后就没必要换行了) 但是这个方法文档显示已经废弃了...关于singleLine:@deprecated不推荐使用此属性 格式:boolean 将文本约束为单个水平滚动线,不是让它包裹在多行上,并在按Enter键时提前聚焦不是插入换行符。...对于不可编辑的文本,默认值为false(多行换行文本模式),但如果为inputType指定任何值,则默认值为true(单行输入字段模式)。...使用maxLines来改变静态文本的布局(比如TextView需要singleLine效果),并使用inputType属性中的textMultiLine标志代替可编辑的文本视图(比如EditText需要...简而言之 想要达到android:singleLine="true"的效果,只需要设置inputType即可,除了textMultiLine参数均可 想要达到android:singleLine="false

    91810

    TextView

    文本控件 显示富文本(URL、不同大小、字体、颜色的文本) 在TextView中预定义了一些类似HTML标签(不区分大小写),通过这些标签,我们可以使TextView控件显示不同的颜色、大小、字体的文字...SpannableString和SpannableBuilder的区别:SpannableString不允许修改文本,只允许设置Span,SpannableBulilder既允许修改文本,也允许设置Span...需要设置 android:singleLine=”true” 代码设置如下: textView.setEllipsize(TextUtils.TruncateAt.END); xml报文设置: <LinearLayout...=”true”) android:ellipsize=”marquee” android:marqueeRepeatLimit android:singleLine=”true” android:...android:singleLine="true" android:text="李克勤(Hacken Lee),生于香港,籍贯广东新会崖西,中国香港歌手,演员,主持人" /> LinearLayout

    1.6K20

    Android开发中TextView文本过长滚动显示实现方法分析

    本文实例讲述了Android开发中TextView文本过长滚动显示实现方法。分享给大家供大家参考,具体如下: 项目中在使用TextView时,总会有因要显示的内容过多需要我们进行处理的问题。...如果要求文字全部显示,但是为了保存UI界面美观,有限大小的TextView如何显示全部的超长文本呢,我们就想到了让文本滚动显示。...配合了android:singLine="true"也一样不能实现文本滚动显示。网上有很多解决方案,几乎都是说到焦点问题。...比如有人建议在布局文件中的TextView添加 android:focusable="true",不过有时也是没有效果的。...android:ellipsize="marquee" android:singleLine="true" 等属性,当然不要忘记写width,height等必备属性哦。

    2.8K10

    Android开发笔记(三十八)列表类视图

    一般情况下自定义适配器继承自BaseAdapter就够用了,当然Android为了方便懒人,专门扩展了两种简单易用的适配器,如ArrayAdapter用于每行只显示文本的情况,SimpleAdapter...android:attr/spinnerItemStyle" android:singleLine="true" android:layout_width="match_parent"...的三个新属性,说明如下: singleLine : 指定是否单行显示,取值true表示单行,false表示多行。...表示以跑马灯方式显示字符串(即从左向右循环滚动,跑马灯方式需同时指定singleLinetrue)。...有种情况是例外,就是如果stackFromBottom设置为true,表示列表从下往上显示,那么此时会显示列表上方的分隔线,不会显示列表下方的分隔线了。

    2.3K20

    无意间遇到的TextView的一个坑

    我的本意是imageview显示相同的图片,textview显示文本,但是运行程序后发现,当某个textview文本较多时,imageview会被压缩,刚开始没注意,检查代码了好久。...屏幕快照 2016-10-31 下午9.11.59.png 可以发现,第二个布局中,右边图片“挤扁”了。为什么会出现这种情况?其实很简单,是textview宽度自适应搞的鬼。...水平线形布局中,我们虽然设置了imageview与左右的偏移(margin)值,但是由于自布局textview与imageview是按顺序排列的,textview会首先完成它的自适应,导致字数过多的时候会把右边的...那么,怎么设置才能让文本框显示较多文字而又不挤压右边的imageview呢? 答案很简单,还是要在textview的宽度上做文章了。...这样,textview就会占据水平剩下的空间,不会去挤压右边的imageivew了。

    60740

    Android中TextView

    TextView:展示文本内容控件 要点: 1.android:textSize="20sp",设置字体的大小使用sp作单位 2.设置宽度高度等属性使用dp(dip)作为单位 3.设置文本颜色,   1...)xml中android:textColor="#ccc" ;   2)动态生成时,textView.setText(Html.fromHtml("您好,我是kdmy</...android:singleLine="true"//只显示一行,通常用在标题等   android:focusable="true"//控件是否能获得焦点   android:ellipsize="marquee..."//是否在触摸模式下获得焦点 android:textAppearancexml布局里面设置系统自带的文字外观: 如“android:textAppearance=“?...表示系统是否有这种外观,否则使用默认的外观 也可以android:textAppearance="@style/titlebar_title_style" titlebar_title_style:style.xml

    87250

    Android开发笔记(三十六)展示类控件

    由于View和ViewGroup是基类,因此很少会直接使用,偶尔用到的场景,主要有如下几个: 1、页面上需要单独显示一条横线或者竖线。...TextView TextView是最基础的文本显示控件了,基本属性如text、textColor、textSize、textDirection、textStyle、textAlignment就不多说了...聊天室窗口的高度是固定的,新的文字消息总是加入到窗口末尾,同时窗口内部的文本整体向上滚动,窗口的大小保持不变、位置也保持不变。...true表示打开,false表示关闭。 isDrawingCacheEnabled : 判断该控件的绘图缓存是否可用。 setDrawingCacheQuality : 设置绘图缓存的质量。...该功能有两种实现方式: 方式一:在布局文件的EditText节点中加入singleLine属性,但该方式只在视觉上起作用,真正的字符串还是带有回车换行符; android:singleLine="true

    1.5K30

    Android TextView小组件的使用--附带超链接和跑马灯效果

    这节主要介绍一下TextView的简单用法,以及超链接文本、跑马灯等实例。  ...因为sp是刻度无关的像素,更重要的是他可以根据用户的字体大小的首选项进行缩放,这才是重要的,这样当你调整了整体的字体大小时不至于使得个别字体的大小不一致影响美观。  ...有时候我们要显示的文本较长,TextView不能完全显示,这时候可以通过这中跑马灯的方式让文本移动展示,达到了既不占用地方又能完全看到文本的目的。这里直接复用农民伯伯的跑马灯代码: <?...:singleLine=“true”以单行的方式展示就好了。...所以请以后实现跑马灯效果的时候最好加上android:singleLine=“true”单行展示。。

    78450
    领券