listview textview收缩展开

必须是通过post方式否则没效果的
holder.comment.post(new Runnable() {  
            @Override  
            public void run() {  
            	if(isShrink(holder.comment)||holder.comment.getLineCount()>4){
        			holder.showAll.setVisibility(View.VISIBLE);
					holder.showAll.setImageResource(R.drawable.indicate_down);
        			holder.showAll.setOnClickListener(new OnClickListener() {
        				
        				@Override
        				public void onClick(View v) {
        					// TODO Auto-generated method stub
        						if(isShrink(holder.comment)){
        							holder.comment.setMaxLines(100);
        							holder.showAll.setImageResource(R.drawable.indicate_up);
        						}else{
        							holder.comment.setMaxLines(4);
        							holder.showAll.setImageResource(R.drawable.indicate_down);
        						}
        				}
        			});
        		}else{
        			holder.showAll.setVisibility(View.GONE);
        		}
            }  
		});
<pre name="code" class="java">	/**
	 * 判断textview是否收缩
	 * @param tv
	 * @return
	 */
	private boolean isShrink(TextView v){

		if(android.os.Build.VERSION.SDK_INT>=11){
			if((((int) measureTextLength((TextView) v) + 0.5f) + ((TextView) v).getPaddingLeft() + ((TextView) v)
	                .getPaddingRight()) / ((TextView) v).getWidth() > 4&&v.getLineCount()==4){
				return true;
			}else
				return false;
		}else{
			int lines = v.getLineCount();
			int lineHeight = v.getLineHeight();
			int expandHeight = lineHeight * lines;
			int currentHeight = v.getMeasuredHeight();
			if(currentHeight < expandHeight)
				return true;
			else return false;
		}
	}


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值