自定义View:BiuTextView

2023年3月21日 pm7:59发布2年前 (2023)更新 91es.com站长
172 9 0

众所周知,Android 高版本后,TextView跑马灯耗CPU,Android 9.0版上很严重。

性能对比,具体看《Android中TextView跑马灯耗CPU高的替代者BiuTextView

为了解决这个占CPU高的问题,通过自定义SurfaceView替代TextView

什么是BiuTextView

BiuTextView支持如下操作

  1. setText()
  2. setEllipsize()
  3. setTextSize()
  4. setTextColor()

效果几乎跟TextView一模一样。

下载

隐藏内容!
评论可看后才能查看!

V1.2@BiuTextView

  1. 上传初始版本

V1.3@BiuTextView

  1. 优化setTextColor()
  2. 优化文本没有不是很长时出现省略(END)模式

V1.4@BiuTextView

  1. 修改View宽度不一导致文本重叠
  2. 优化SurfaceView不隐藏问题
  3. 等等

使用方式

下载BiuTextView.aar,并放入libs中

libs\V1.2@#BiuTextView.aar

在module下的build.gradle配置

 implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])

xml中配置如下,不配置也会有默认值。

<com.biumall.textview.BiuTextView
    android:id="@+id/main_biu_textview"
    android:layout_width="500dp"
    android:layout_height="60dp"
    android:layout_gravity="center"
    android:background="@android:color/holo_orange_dark"
    app:ellipsize="marquee"
    app:text="91易搜() -阅读是一种生活方式。读书写字。"
    app:textColor="@android:color/white"
    app:textSize="30sp" />

赏一杯可乐

如果觉得OK,欢迎打赏一杯可乐哈,谢谢

有bug,欢迎留言

版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

9 条评论

  • zzzzz
    zzzzz 游客

    谢谢

    广东省深圳市
    回复
  • ak47
    ak47 游客

    谢谢,试试看是否可以解决问题

    台湾省
    回复
  • 改变自己
    改变自己 管理员

    GridView中展示文本还是存在重叠问题。

    广东省深圳市
    回复
  • 改变自己
    改变自己 管理员

    不好意思,经过测试,还是存在兼容性问题。

    比如上面demo中设置宽500是没问题,但是如果设置300或者更新就可能有问题存在重叠,这个后续优化吧。

    广东省深圳市
    回复
    • 改变自己
      改变自己 管理员

      @改变自己

      哈哈哈,今天抽空已经修复了。请使用V1.4版
      广东省深圳市
      回复
  • Florian
    Florian 游客

    谢谢博主,试试看

    湖北省武汉市
    回复
  • 大河向东流
    大河向东流 游客

    试试看,Android的TextView走马灯确实耗CPU

    广东省深圳市
    回复

随机推荐

Web网站置灰的几种方式代码

前言众所周知,一般有大事情,很多官方网站的首页就会置灰。对这个比较感兴趣,因此就查询了一下,发现设置全站置灰的方式很简单。记录一下,方便自己查阅。PS: 本文内容摘抄的,文末有原作者连接正文置灰涉及全屏置灰,另外一种是首屏置灰。下面记录一下置灰的代码。全屏置灰方式一亲测,有效。...

JNI之数组简单操作

前言简单记录一下JNI中数组操作。正文public class Hello {   static {       System.loadLibrary("Hello");   }   // JNI中对数组排序   public static native int[] so...

service.te:57: ERROR: end of file in comment

前言Android 12添加服务后,在配置SELinux权限时,出现如下的编译错误。prebuilts/build-tools/linux-x86/bin/m4:device/sprd/mpool/sepolicy/system/public/service.te:57: ERROR: end...

[摘]音视频学习系列第(一)篇---基础概念

shui知道最在学习这个,这个博主总结得不错,因此摘抄于此,以方便自己查阅。可访问改博主sofarsogoo_932d的一系列文章《音视频学习系列》,感谢他的分享。什么是音/视频音频声音的集合视频图片的集合,当一段连续的图片不断的出现在人眼前(至少要求1秒24帧,即一秒内连续出...

C语言之指针函数和函数指针

前言C语言中,除了数组指针和指针数组,还有指针函数和函数指针。很绕,容易记错!因此记录一下,方便自己查阅!正文指针函数指针函数是一个函数的返回值为地址的函数。返回值为指针类型的一个函数一般格式:数据类型 * 函数名(形参){   语句:}比如char name[] =...

[摘]Android异常和性能优化 - OOM异常

什么是OOMOOM全称为“Out of memory”异常,从名字上可以理解就是内存耗尽了。在android当中,android系统会给每个APP设立一个独立的工作区间,也就是Dalvik虚拟机空间,这样使每个APP在独立的空间运行而不受影响。但是android系统为每一个Dalvik虚拟机都设定...