TextView折叠

2024-06-03 05:32
文章标签 折叠 textview

本文主要是介绍TextView折叠,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在Android TextView中有个内容过长加省略号的属性,即ellipsize,

Causes words in the text that are longer than the view is wide to be
ellipsized instead of broken in the middle. You may also want to
setSingleLine() or setHorizontallyScrolling(boolean) to constrain the
text to a single line. Use null to turn off ellipsizing. If
setMaxLines(int) has been used to set two or more lines, END and
MARQUEE* are only supported (other ellipsizing types will not do
anything).


在xml中:
android:ellipsize="start"   省略号在开头
android:ellipsize="middle"    省略号在中间
android:ellipsize="end"     省略号在结尾
android:ellipsize="marquee"   跑马灯
android:ellipsize="none"      无省略号

最好加一个TextView显示行数的约束,例如:
android:singleline="true"或者android:lines="2"


在java文件中:
tv.setEllipsize(TextUtils.TruncateAt.START);
tv.setEllipsize(TextUtils.TruncateAt.MIDDLE);
tv.setEllipsize(TextUtils.TruncateAt.END);
tv.setEllipsize(TextUtils.TruncateAt.MARQUEE);
tv.setEllipsize(null);

最好加一个TextView显示行数的约束,例如:
tv.setSingleLine(true);

不仅对于textview有此属性,对于EditText也有,不过它不支持marquee。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><TextViewandroid:id="@+id/tv_desc"android:layout_width="wrap_content"android:layout_height="wrap_content"android:lines="4"android:text="锤子科技是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。公司的英文名“Smartisan”,是由“smart”和“artisan”组合成的词,意思是“智能手机时代的工匠”。在缺乏创新精神和创新能力的安卓手机阵营里,锤子科技的团队格外擅长软件的图形界面和用户体验设计,并精通硬件的工业设计。锤子科技成立于2012年5月。" /></FrameLayout>


package com.leigo.foldingtextview;import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;public class MainActivity extends Activity implements OnClickListener{private TextView mTvDesc;private boolean flag;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mTvDesc = (TextView) findViewById(R.id.tv_desc);mTvDesc.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.tv_desc:if(!flag) {flag = true;mTvDesc.setEllipsize(null);  //展开mTvDesc.setSingleLine(false);}else {flag = false;mTvDesc.setEllipsize(TextUtils.TruncateAt.END);  //收缩mTvDesc.setLines(4);}break;default:break;}}}





截图





这篇关于TextView折叠的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1026125

相关文章

C++基础:折叠表达式(C++17)

C++基础:折叠表达式(C++17) 简介语法展开 示例 简介 C++17 引入了一种新的语法特性,叫做折叠表达式,它允许编译器在模板参数包展开时进行元编程操作。折叠表达式的引入极大地简化了元编程代码,使其变得更为直观和简介。 语法 折叠表达式,简单来说,就是以二元运算符对形参包进行折叠,总共有以下四种类型: 一元右折叠一元左折叠二元右折叠二元左折叠 其对应的语法如下:

TextView 的介绍和使用

TextView类的结构 textView是用来显示字符串的组件,在手机上就是显示一块文本的区域。 它继承自 View, 直接子类有:Button.CHeckedTextView,Chronometer, DigitalClock, EditText 简接子类:AutoCompleteTextView, CheckBox, CompoundButton, Ex

Android Studio任意位置折叠代码

在Android Studio中 方法块、import区、{ }大括号块 都会有自动 代码折叠的 +号按钮, 这有利于开发者只关注核心逻辑,提高开发效率。          但有时我们希望其它区域也能使用折叠功能,比如 ButterKnife的BindView区,有时十多个BindView能占用一两屏,这么多自动绑定view的代码对我关注一个Activity的核心确实没有多大作

Android TextView设置跑马灯失效

1.关于问题 TextView失效在网上有详细的解决方案,大部分时候都能够很好的解决问题 下面给出网上的解决方案: <TextViewandroid:layout_width="100dp"android:layout_height="22dp"tools:text="水浇地放松放松开发的开始放假考试的飞机开了撒酒疯恐龙时代解封了开始的"android:ellipsize="marquee"

猫猫学iOS 之微博项目实战(11)发送微博自定义TextView实现带占位文字

猫猫分享,必须精品 原创文章,欢迎转载。转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:效果 二:代码: 由于系统自带的UITextField:和UITextView:不能满足我们的需求,所以我们需要自己设计一个。 UITextField: 1.文字永远是一行,不能显示多行文字 2.有placehoder属性设置占位文字 3

可以折叠Gridview

可以折叠Gridview 实现原理 1、折叠实现 重写gridview的setAdapter方法 @Overridepublic void setAdapter(ListAdapter adapter) {if (foldNm > 0) {//进行折叠adapter = new FoldViewGridAdapter(adapter, foldNm);}super.setAd

android 改造TextView使上下左右Drawble宽高可调

1、首先在attrs.xml中声明自定义属性 <declare-styleable name="DrawableEditView"><!-- 设置top图片的宽度 --><attr name="edit_drawableTopWidth" format="dimension" /><!-- 设置top图片的高度 --><attr name="edit_drawableTopHeight" f

textView代码设置文字居中失效 textView设置文字居中两种方法

1.TextView的高度占据整个父控件的高度,然后设置TextView的Grayvity Center就可以了。 2.如果第一个方法不行,那么,textView的高度设置为warp_content,然后设置父布局为CENTER_VERTICAL 代码: LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(Lay

Android中自定义TextView的形状

基本步骤: 在drawable文件夹下建立一个shape.xml shape.xml: <?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"><!-- 填充的颜色 --><solid an

TextView的自定义字体

这里有两种实现方法: (1)这种实现方法比较简单。但是只能设置个别的字体,结果可能不是你想要的。 winp.setText("Typeface.DEFAULT_BOLD");winp.setTypeface(Typeface.DEFAULT_BOLD);DEFAULT_BOLD是系统自带,当然系统自带的也有好几种,你可以选择自己需要的。 (2)这种实现方法稍稍复杂,但结果是不错的。