美文网首页
如何自定义一个带有展开和缩放的TextView

如何自定义一个带有展开和缩放的TextView

作者: 的一幕 | 来源:发表于2016-08-31 18:20 被阅读198次

最近在整理一些前段时间的项目,发现以前自己写的一些东西还是值得学习的,虽然算不上什么很炫的效果,但弥补了网上一些资料的不足,废话不多说,直接上效果图吧。

simple.gif
效果图做得不太好啊,大家到真机上面测试demo吧。

思路:

其实这个地方就是一个动画,实时地去改变textview的高度,来达到一个渐变的效果。这里的特色:

  • 能动态判断是否需要去显示更多的图标,如果用户的textView本来需要的行数大于自己定义的最大行数的话,此时才会有更多的功能。我这里定义的最大行数是3行,所以下面的textView会有更多的图标。而上面没有。
  • 能实现初始状态是否是展开的效果,这里可以通过xml布局文件去配置。

使用:

<declare-styleable name="MoreTextStyle">    
    <attr name="mytextSize" format="dimension" />    
    <attr name="mytextColor" format="color" />    
    <attr name="maxLine" format="integer" />    
    <attr name="text" format="string|reference" />    
    <attr name="expand" format="boolean" />
</declare-styleable>

mytextSize: 显示的文字大小。
mytextColor: 显示的文字的颜色。
maxLine: 最大行数的规定。
text: 显示的文本,这里建议不要通过xml文件设置文本的文字,通过代码去设置。
expand: 初始状态是否是展开的,true的话,默认就是展开,反之缩进。

代码中要调用的方法:

MoreTextView text1 = ((MoreTextView)findViewById(R.id.more));
text1.setText(getResources().getString(R.string.text));
text1.refreshText();

就这么简单,赶快使用到你的项目中吧。

关于我:

相关文章

网友评论

      本文标题:如何自定义一个带有展开和缩放的TextView

      本文链接:https://www.haomeiwen.com/subject/chxcettx.html