本文实例讲述了Android开发自定义TextView省略号样式的方法。分享给大家供大家参考,具体如下:
在布局xml中设置textView的字段<代码> android: maxLines=" 2 "> 代码,<代码> android: ellipsize="结束"> 代码字段之后,textview会自动压缩行数,并且对压缩掉的部分用……显示。如果不想用…而想用…或者……就需要自定义这个省略号的样式,不需要自定义控件,方法如下。
首先是布局文件
& lt; TextView android: id=癅 + id/textView4” android: layout_width=" match_parent " android: layout_height=" wrap_content " android: layout_alignParentTop=" true " android: layout_centerHorizontal=" true " android: maxLines=" 2 " android: ellipsize="结束" android:文本="这是一个文本的TextView TextView这是一个文本的文本TextView这是文本的TextView TextView文本” android: textSize=" 20 sp/比; >之前对textView进行代码控制
保护无效onCreate(包savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); 最后一个TextView TextView=(TextView) findViewById (R.id.textView4); 布局布局=textView.getLayout();//此时的布局为null,必须用观察者模式的回调函数来获取布局 System.out.println布局(布局是" +);//此处为null ViewTreeObserver观察者=textView.getViewTreeObserver (); 观察者。addOnGlobalLayoutListener(新OnGlobalLayoutListener () { 布尔isfirstRunning=true; @Override 公共空间onGlobalLayout(){//此方法会被调用两次,每执行一次settext就会执行一次,第一次是显示全部的文本,不加省略,第二次是加上省略,将会删减两次文本//TODO自动生成方法存根 如果(isfirstRunning==false)返回;//如果不加这一行的条件,出来之后是完整单词+…,如果加上,出来就是截断的单词+…… 布局layout2=textView.getLayout (); System.out.println (“layout2是“+ layout2); 如果(textView !=null&, layout2 !=null) { int行=layout2.getLineCount (); System.out.println(“当前行数是“+ layout2.getLineCount ()); System.out.println(“被省略的字符数量是“+ layout2.getEllipsisCount(第1行));//看看最后一行被省略掉了多少 System.out.println(“被省略的字符起始位置是“+ layout2.getEllipsisStart(第1行));//看看最后一行被省略的起始位置 System.out.println(“最后一个可见字符的偏移是“+ layout2.getLineVisibleEnd(第1行));//开始替换系统省略号 如果(lines<2)返回;//如果只有一行,就不管了 如果(layout2.getEllipsisCount(第1行)==0)返回;//如果被省略的字符数量为0,就不管了 .toString字符串showText=textView.getText () (); System.out.println(“删减前“+ showText); showText=showText。substring (0, layout2.getLineVisibleEnd(第1行)6).concat("…");//在此处自定义要显示的字符 System.out.println(“删减后”+ showText); textView.setText (showText); isfirstRunning=false; } } }); >之前更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》,《Android视图视图技巧总结》,《Android布局布局技巧总结》及《安卓控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
Android开发自定义TextView省略号样式的方法