Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在TextView上设置椭圆大小可以减少一条显示的行(而不是最后一条省略号)

在TextView上设置椭圆大小可以减少一条显示的行(而不是最后一条省略号)
EN

Stack Overflow用户
提问于 2012-06-26 07:18:26
回答 6查看 55.1K关注 0票数 41

当我将TextViewsingleLine="true"ellipsize="end"(我的顶级TextView)结合使用时,它工作得很好

,但是在另一个 TextView中,有超过1行(在我的例子中是底部TextView中的3行)中,lines="3" and maxLines="3" and ellipsize="end", 不能正常工作。

当我不将ellipsize="end"放在tvDesc中时,它显示了3行,这是可以的。下面是代码: XML:

代码语言:javascript
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/imgv"
        android:layout_width="65dp"
        android:layout_height="80dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/img1"
        android:scaleType="fitXY" />

    <TextView
        android:id="@+id/tvTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/imgv"
        android:background="@android:color/white"
        android:textColor="@android:color/black"
        android:text="Title testing line number and ellipsize at end"
        android:maxLines="1"
        android:singleLine="true"
        android:ellipsize="end"    <---  WORKS WELL
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/tvDesc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tvTitle"
        android:layout_toRightOf="@+id/imgv"
        android:layout_alignBottom="@+id/imgv"
        android:layout_alignParentRight="true"
        android:textSize="14dp"
        android:lines="3"
        android:maxLines="3"
                       <----------  WITHOUT ellipsize
        
        android:text="I wanna this textview of having 3 lines and ellipsize at END and at this time I am Testing for it. This TextView shows 3 lines WITHOUT ellipsize property, but shows only 2 Lines when ELLIPSIZE property is setted"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

上面的代码显示了具有3行和非椭圆大小的TextView tvDesc。这里是图像:

但是,我想使用省略号,所以我使用了下面的代码: XML:

代码语言:javascript
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/imgv"
        android:layout_width="65dp"
        android:layout_height="80dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/img1"
        android:scaleType="fitXY" />

    <TextView
        android:id="@+id/tvTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/imgv"
        android:background="@android:color/white"
        android:textColor="@android:color/black"
        android:text="Title testing line number and ellipsize at end"
        android:maxLines="1"
        android:singleLine="true"
        android:ellipsize="end"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/tvDesc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tvTitle"
        android:layout_toRightOf="@+id/imgv"
        android:layout_alignBottom="@+id/imgv"
        android:layout_alignParentRight="true"
        android:textSize="14dp"
        android:lines="3"
        android:maxLines="3"
        android:ellipsize="end"    <------  WITH  ELLIPSIZE
        
        android:text="I wanna this textview of having 3 lines and ellipsize at END and at this time I am Testing for it. This TextView shows 3 lines WITHOUT ellipsize property, but shows only 2 Lines when ELLIPSIZE property is setted"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

显示只有2行的TextView tvDesc和椭圆尺寸的,

它没有正确地解除用户界面,如下所示:

I希望在TextView tvDesc中有3行椭圆尺寸的

有人能帮我吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-07-28 02:05:52

到目前为止,这是我在部署中找到并正在使用的最简单的解决方案。如果你需要其他帮助,请告诉我!

哦,请记住移除XML中的android:ellipsize标记,因为您将使用底部代码在3行末尾自动选择椭圆大小。

代码语言:javascript
运行
AI代码解释
复制
TextView snippet;
snippet.setText("loren ipsum dolor loren ipsum dolor loren ipsum dolor loren ipsum dolor loren ipsum dolor loren ipsum dolor loren ipsum dolor loren ipsum dolor loren ipsum dolor loren ipsum dolor loren ipsum dolor loren ipsum dolor loren ipsum dolor loren ipsum dolor ")
ViewTreeObserver vto = this.snippet.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

    @Override
    public void onGlobalLayout() {
        ViewTreeObserver obs = snippet.getViewTreeObserver();
        obs.removeGlobalOnLayoutListener(this);
        if (snippet.getLineCount() > 3) {
            int lineEndIndex = snippet.getLayout().getLineEnd(2);
            String text = snippet.getText().subSequence(0, lineEndIndex - 3) + "...";
            snippet.setText(text);
        }
    }
});
票数 47
EN

Stack Overflow用户

发布于 2013-09-08 04:17:56

只需设置android:maxLinesandroid:ellipsize

代码语言:javascript
运行
AI代码解释
复制
<TextView
        android:id="@+id/tv_dua"
        android:ellipsize="end"
        android:maxLines="3"
        android:text="long text"
        android:textAppearance="?android:attr/textAppearanceMedium" />
票数 19
EN

Stack Overflow用户

发布于 2015-08-11 02:51:18

使用以下方法获得最后一行带有省略号的多行文本视图:

代码语言:javascript
运行
AI代码解释
复制
android:maxLines="4"
android:ellipsize="end"
android:singleLine="false"

用您想要的行数替换4。希望能帮上忙!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11210553

复制
相关文章
今天的主角,VFP新报表设计器 TQ报表设计器
2018年,我在某软件公司任职时,负责搭建一个新的开发框架。在原有的系统中,所有的报表打印都是使用 80 引擎,鉴于 90 引擎的优异特性,以及考虑到今后可能的报表需求,我在其中引入了 90 引擎。但是,结果是我又屏蔽掉了 90 引擎的使用。
加菲猫的VFP
2023/08/21
4430
今天的主角,VFP新报表设计器 TQ报表设计器
[财务][数据化分析][帆软]报表设计-普通报表设计
普通报表设计可以分为报表设计、参数设计、图表设计和填报设计四个部分,这四个部分是 FineReport 普通模板的几大使用方式。
landv
2020/05/25
2.6K0
[财务][数据化分析][帆软]报表设计-普通报表设计
如何实现报表设计中的高精度报表套打?
在许多行业中票据具有严格的行业规范,格式是无法修改的,一旦格式有所改动,票据数据就会失效无效。因此通常情况下,我们会在预先设计好格式的报表的打印版中,手动填写数据信息,如常见的各类账本,报销单等填写数据。
葡萄城控件
2022/05/09
1.4K0
如何实现报表设计中的高精度报表套打?
[财务][数据化分析][帆软]报表设计-聚合报表设计
聚合报表指一个报表中包含多个模块,每一块都类似一张单独的报表或者一张图表,块与块之间相对独立,互不影响。
landv
2020/05/25
2.7K0
[财务][数据化分析][帆软]报表设计-聚合报表设计
[财务][数据化分析][帆软]报表设计-决策报表设计模式
 就我而言,不建议使用这个FineReport里面的决策报表,还是用FineBI里面的决策报表好用,阔以在web端进行设计,其实都一样。
landv
2020/05/25
2.7K0
[财务][数据化分析][帆软]报表设计-决策报表设计模式
[报表篇]-Ureport报表设计器-基础组件配置
​ Ureport2 报表设计器是一个基于 WEB 的在线报表设计器,其具有良好的界面设计和强大的报表设计功能,支持报表多种格式导出(分页)、报表通用性设计等,Ureport2 支持简单、复杂报表的设计,能够很好地嵌合实际业务需求,其报表设计可通过纯 sql 或者是配置的方式实现,以此可针对不同的人员进行管理。
hahah
2022/08/30
5K0
动态生成RDLC报表
1、从DataGrid提取(包括最新的增删改)数据,自动生成对应的RDLC报表文件(以流的形式驻存在内存中),用ReportViewer类来展示、打印、排版、预览、分页
NaughtyCat
2020/10/09
8.5K0
动态生成RDLC报表
如何设计报表?
报表就是报告状况的表,是通过表格、图表来展示指标,从而方便业务部门掌握业务的情况。
猴子数据分析
2020/11/18
9070
[财务][数据化分析][帆软]报表设计-设计思路
使用 FineReport 设计器设计模板,首先需要了解 FineReport 模板制作的思路,沿着其思路来了解 FineReport 报表中的所有功能。
landv
2020/05/25
1.8K0
[财务][数据化分析][帆软]报表设计-设计思路
[财务][数据化分析][帆软]报表设计-模板设计类型
模板设计是 FineReport 学习过程中的主要难题所在,FineReport 模板设计主要包括普通模板设计、决策报表设计和聚合报表设计三种模板设计类型。
landv
2020/05/25
1.1K0
[财务][数据化分析][帆软]报表设计-模板设计类型
如何设计报表?
报表就是报告状况的表,是通过表格、图表来展示指标,从而方便业务部门掌握业务的情况。
猴子数据分析
2021/05/16
8490
Crystal Reports 2008(水晶报表) JDBC连接mysql数据库
在本blog中,主要介绍的是Crystal Reports 2008使用JDBC连接mysql数据库。
Hongten
2018/09/13
1.8K0
Crystal Reports 2008(水晶报表) JDBC连接mysql数据库
在Silverlight中动态绑定页面报表(PageReport)的数据源
ActiveReports 7中引入了一种新的报表模型——PageReport(页面布局报表),这种报表模型又细分了两种具体显示形式: o    固定页面布局报表模型(FPL)是ActiveReports 7中首创的一种 .NET报表模型,通过这种模型可以非常方便地设计出拥有复杂格式的报表模板。您只需定义好页面大小,然后以一种可视化的方式添加需要的控件并设置数据填充方式,剩下的工作将由报表引擎自动完成。 o    连续页面布局报表模型(CPL)主要通过数据区域来控制报表的布局,并能自动实现数
葡萄城控件
2018/01/10
2K0
在Silverlight中动态绑定页面报表(PageReport)的数据源
数据库中内连接、外连接、全连接
转自:http://blog.csdn.net/yilip/article/details/8065840
forrestlin
2022/04/02
4.6K0
[财务][数据化分析][帆软]报表设计-分页预览
分页预览即普通预览模式,FineReport 的默认预览方式,一般在只需要查看报表数据用于分析的时候使用。
landv
2020/05/25
2.5K0
[财务][数据化分析][帆软]报表设计-分页预览
stimulsoft oracle,报表仪表设计器Stimulsoft的处理数据功能
Stimulsoft Reports.Net是一个基于.NET框架的报表生成器,能够帮助你创建结构、功能丰富的报表。StimulReport.Net的报表设计器不仅界面友好,而且使用便捷,能够让你轻松创建所有报表;该报表设计器在报表设计过程中以及报表运行的过程中都可以使用。在运行时使用StimulReport.Net 的报表设计器不需要支付任何的专利费用。
全栈程序员站长
2022/09/14
1.1K0
可动态扩展的数据库模型设计
在通常的数据库设计中,我们定义了每个实体有多少个属性,每个属性的数据类型是什么,有多长,是否允许为空,有什么约束条件等,这些定义是完全静态的,系统创建时就全部定义好,不能动态修改。但是对于实体的属性变化很快,或者实体和属性由用户在系统中自行定义的情况下,那么就需要一个可以动态扩展的数据库模型,以保存各种动态产生的数据。
深蓝studyzy
2022/06/16
1.4K0
可动态扩展的数据库模型设计
[财务][数据化分析][帆软]报表设计-填报预览
填报预览,顾名思义,就是指在 Web 端预览用来填报数据的模板,一般在只需要录入修改数据的时候使用,当然也可用来查看数据。
landv
2020/05/31
1.6K0
[财务][数据化分析][帆软]报表设计-模板预览
模板预览就是指在 Web 端查看模板效果,FineReport 提供了多种不同的预览方式,来满足用户的多样化需求。
landv
2020/05/25
1.6K0
[财务][数据化分析][帆软]报表设计-模板预览
[财务][数据化分析][帆软]报表设计-第一张报表
今天说一下帆软的弊端,优势什么的请自己去发现,使用了这么久帆软了,唯一感觉的是赶紧找一台服务器安装上,本机跑太消耗内存了。
landv
2020/05/25
2.9K0
[财务][数据化分析][帆软]报表设计-第一张报表

相似问题

如何在宾得报表设计器中创建动态SQL?

11

无法将宾得报表设计器与MySQL数据库连接

15

使用宾得报表设计器打印报表时缺少页

17

为什么宾得报告设计器在报表的数据库连接中添加名为"ce“的参数?

24

宾得报告设计器批量更改子报表中的文件位置

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档