TextView展开和收回

第一步:接口请求返回数据

第二步:使用handler和textview.getLineCount方法判断是否超过指定行数:

community_desc_more.setVisibility(View.VISIBLE);
community_desc.setMaxLines(3);
community_desc.setEllipsize(TextUtils.TruncateAt.END);

第三步:点击展开按钮判断

int communityLineCount = community_desc.getLineCount();
if (communityLineCount > 3) {
    community_desc_more.setText("展开");
    community_desc.setMaxLines(3);
} else {
    community_desc.setMaxLines(Integer.MAX_VALUE);
    community_desc_more.setText("收起");
}

有个要注意的地方,getLineCount得到的是textview的真正行数,但是如果使用了

setEllipsize(TextUtils.TruncateAt.END)

得到的却是可见的行数

时间: 2024-10-13 10:48:41

TextView展开和收回的相关文章

android获取textview展开渲染后的高度

当你需要获取textview真正高度时,相信会有不少人会在onCreate函数中调用textview的getHeight()方法,简单粗暴,确实,这是个很方便的方法,但是不幸的是textview在onCreate中根本还没有展开,所以根本获取不到textview的真正高度,因此我们需要给textview绑定一个监听器,在渲染结束后调用,方法如下: ViewTreeObserver observer = contentView.getViewTreeObserver(); observer.add

用开源项目ExpandableTextView打造可以下拉扩展的TextView

这次还是用开源项目来实现效果,我个人觉得上面的这个效果还是很赞的.于是就记录下如何实现这个效果,其实相当简单.这就是开源项目写的好的例子,整个开源项目的代码十分清晰,逻辑和代码结构都很棒,接入自己的工程也十分方便,10分钟之内搞定. 一.下载开源项目,导入lib 项目地址:https://github.com/Manabu-GT/ExpandableTextView 这个项目是用Android Studio编写的,如果你是用eclipse来构建,就需要做一些修改.如果懒得修改,就用我在本文末尾分

Android-Composite

Android-Composite 一 ListView 加载方式1: 直接从xml中加载元素数组,在listview中设置android:entries="@array/string_array",这种方式不能动态添加,与修改 加载方式2: 动态加载数据源,利用Adapter4个步骤,来显示 二 ExpandableList 组件特点:点击展开下拉栏,每一项中都包含多项. 界面实现: 数据源:hashMap Adapter:ExpandableListAdapter接口定义类 介绍一

然并卵, Xamarin Android 仿制个性动画菜单

唱衰 .NET / Xamarin 的, 看完图示就可以关掉了. 不为证明什么, 仅为示例, 不做实际用途, 所以然并卵. 照例,上图 上代码: https://github.com/gruan01/Xamarin-Example/tree/master/DiscMenu 此示例 防照: http://blog.csdn.net/lmj623565791/article/details/43131133 不过没有按照他样那做, 因为那也是然并卵. 谁会把 App 做的如此花梢? 本示例主要 实践

iOS开发--动画篇之layout动画深入

"不得不说,单单是文章的标题,可能不足以说明本文的内容.因此,在继续讲述约束动画之前,我先放上本文要实现的动画效果." 编辑:Bison投稿:Sindri的小巢 约束动画并不是非常复杂的技巧,在你熟练使用约束之后,你总能创建些独具匠心的动画.在上一篇autolayout动画初体验中,我们根据监听列表视图的滚动偏移来不断改变约束值,从而制作出动画的效果.但上个动画的实现更像是我们制作了一帧帧连续的界面从而达成动画的效果 —— 这未免太过繁杂.而在本文我们将抛弃这种繁杂的方式,通过调用UI

属性动画实现卫星菜单效果

原来学过用自定义控件以及视图动画来达到这个效果.后来根据慕课网的视频,接触到了属性动画,发现其精髓之处不是一点两点. 相信大家都知道,当我们在使用视图(View)动画的时候,改变轨迹时,所触发的点击事件却没有相对应的随之轨迹而改变.确切的说,Animation改变显示的位置,不可以实现交互的效果,只是实现了显示效果. 先看下Animator的介绍 This is the superclass for classes which provide basic support for animatio

点击可展开的TextView

自定义TextView 1 package com.sun.mytext; 2 3 import android.annotation.SuppressLint; 4 import android.content.Context; 5 import android.os.Build; 6 import android.text.Layout; 7 import android.text.SpannableString; 8 import android.text.Spanned; 9 impor

Android 仿小红书自定义展开 收起的TextView

详解 故事是这么开始的,有个产品需求需求,要做一个小红书文本折叠的功能,于是就有了后面一系列的东西.不过实现了之后,自己对 TextView 截取文本也了解了不少,具体效果如下: 先总结一下实现的时候需要注意的几个点: 显示 "-展开" 时,是截取的一定行数之后,在最后一行的末尾直接显示 "收起" 显示在全部文本的下一行,并且是右对齐 展开和收起的动画效果 如果归纳的不完善,还请指出,不想看过程了可以直接跳到文末查看ExpandableTextView代码 文本的截

如何写一个可以展开的TextView

原理是通过点击的时候设置 setMaxLines(lineNum)来实现: public class ExpandableTextView extends TextView { private static int MIN_LINE_NUM = 2; private static int MAX_LINE_NUM = 20; private int lineNum = MIN_LINE_NUM; private boolean mIsExpanded = false; Bitmap bitmap