android textview 设置多行显示,Android设置TextView显示一行或多行

在Android开发中,有时需要控制TextView内容只显示一部分,点击按钮后展开全部内容。本文介绍了两种方法实现这一功能:一是通过设置TextView的Flag,二是利用Button的Tag。两种方法都需要设置android:ellipsize和android:maxLines属性。在点击事件中,切换TextView的显示状态,从而达到展开和收缩的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在listView的item中或者是特殊的业务需求中,会要求TextView的内容不完全显示,只有通过一个指定的操作后才显示所有的,比如说一个按钮或者是其它的什么控件。

要想实现这个效果并不难,只要控制好TextView的行数就行。文章中介绍了两种实现方法,一种是给button添加Flag,另一种是给button添加Tag,两种方法都可以,具体说不上哪种更好,哪种适合用哪种。

第一种方法的布局,注意TextView中必须加上android:ellipsize和android:maxLines这两条属性,不然的话效果出不来:

接下来就可以在类中控制这个TextView显示或者隐藏了。

button.setOnClickListener(new OnClickListener() {

Boolean flag = true;

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if (flag) {

flag = false;

text.setEllipsize(null);// 展开

text.setSingleLine(flag);

button.setText("隐藏");

} else {

flag = true;

text.setMaxLines(2);// 收缩

button.setText("显示");

// text.setEllipsize(TruncateAt.END);

}

}

});

或者可以在Button中添加一个Tag

同样,在代码中获取到改按钮的tag进行控制

viewItme.item_btn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

Boolean flag = Boolean.valueOf((String) viewItme.item_btn.getTag()) ;

if (flag) {

// 展开

viewItme.item_btn.setTag("false");

viewItme.inspecttext_tv.setEllipsize(null);

viewItme.inspecttype_tv.setEllipsize(null);

viewItme.item_describe.setEllipsize(null);

viewItme.item_describe.setMaxLines(10);

viewItme.item_btn.setBackgroundResource(R.drawable.unfloddd);

} else {

// 收缩

viewItme.item_btn.setTag("true");

viewItme.item_describe.setMaxLines(1);

viewItme.item_btn.setBackgroundResource(R.drawable.packup);

}

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值