计算textview在屏幕上占多宽

            计算textview在屏幕上占多宽  


    最近做一个手机阅读器的项目,其中遇到一个问题就是要计算textview中显示书籍简介的文字在屏幕上占据的有多少来确定是否显示(显示更多的按钮),点击显示更多按钮,将书籍简介全部加载出来!附图:
       
   不过像UI设计图上面的这种设计,我没做出来,我是(显示更多)按钮显示在textview控件的下方, 如果要做出来像设计图上的效果,我觉得肯定是要自定义一个textview的,附上布局文件:
  
     
     在附上在activity中的代码:
      //这段代码是得到屏幕的宽度
       int screenWidth = Integer.parseInt(DeviceInfoUtils.getWidth(this));
       //这段代码是得到textview中文字显示的宽度,因为上面的配置文件中paddingLeft='10dip'和paddingRight='10dip'
       //DimensionPixelUtil.dip2px(this, 10)这个是将10dip转换为px单位
       int font_widht = screenWidth - (2 * (int) DimensionPixelUtil.dip2px(this, 10));
       TextPaint paint = txt_brief.getPaint();
        // 计算textview在屏幕上占多宽
        int len = (int) paint.measureText(txt_brief.getText().toString().trim());
        //如果textview显示少于3行 则隐藏 显示更多按钮
        if (len <= 3 * font_widht) {
            txt_brief.post(new Runnable() {
                @Override
                public void run() {
                    btn_load_more.setVisibility(View.GONE);
                }
            });
        }










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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值