计算textview在屏幕上占多宽

来源:互联网 发布:多功能倒计时器软件 编辑:程序博客网 时间:2024/05/03 00:50

            计算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
原创粉丝点击