我最近发现一个能够实现多种效果的TextView
开源库,这篇博客分享给看文章的小伙伴,希望能帮你们提高开发效率以及提升自己App
的用户体验感。
SuperTextView
SuperTextView
一个简单的控件元素,但却不仅仅是一个控件。它生而灵动多变,强大的内嵌逻辑,为你持续提供丰富多彩却异常简单的开发支持。他的特性:
- 为 View 设置圆角
- 支持单独控制每一个圆角
- 为 View 添加边框
- 为文字增加描边或空心效果
- 支持最多 2 个 Drawable 展示
- 可准确控制 Drawable 大小及位置
- 支持渐变色背景
- 触摸变色
- 展示图片,包括网络图片
- 支持 XML 中直接设置网络图片
- 为图片设置圆角
- 为图片增加边框
- 可插入操作的 Adjuster 模块
- 修改 Drawable 的颜色
- 修改 Drawable 的旋转角度
- 支持文字渐变色效果
- 支持为 Drawable 区域单独设置点击事件
- 支持 Gif 图展示
- 支持为 Gif 图添加边框,以及圆角
- 支持 Gif 图暂停/播放、修改帧率
- 支持提取指定 Gif 帧
开源库的效果图
引入项目
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
compile 'com.github.chenBingX:SuperTextView:VERSION_CODE'
}
作者有给出下面提示,需要注意:
- v3.2.6 版本支持:armeabi-v7a
- v3.2.6.64 版本支持:armeabi-v7a、arm64-v8a
- v3.2.6.99 版本支持:armeabi-v7a、arm64-v8a、x86
针对目前的机型适配来说,我应该会选择3.2.6.99
版本。具体的版本信息可以查看开源库文档
开源库混淆
-keep class com.coorchice.library.gifdecoder.JNI { *; }
简单的使用
1、使用网络图片作为背景图:
<com.coorchice.library.SuperTextView
android:id="@+id/stv_40"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:gravity="bottom|center"
android:paddingBottom="1dp"
android:text="网络背景图"
android:textColor="#000"
android:textSize="14sp"
app:stv_corner="10dp"
app:stv_isShowState="true"
app:stv_drawableAsBackground="true"
app:stv_solid="#f1f1f1"
app:stv_state_drawable="https://gw.alicdn.com/imgextra/i3/O1CN01suhAFr1cXQX49D2xp_!!6000000003610-0-tps-468-466.jpg" />
2、展示Gif图:
<com.coorchice.library.SuperTextView
android:id="@+id/stv_1"
android:layout_width="match_parent"
android:layout_height="150dp"
app:stv_state_drawable="@drawable/gif_1" />
3、代码动态加载网络图片或者网络Gif图:
stv_1 = (SuperTextView) findViewById(R.id.stv_1);
stv_1.setUrlImage("http://example.com/images/example.gif");