美文网首页
如何自定义一个带有展开和缩放的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