autojs之酷炫字体效果

简介: 使用场景一个textview中, 展示不同的字体效果

使用场景


一个textview中,  展示不同的字体效果


效果展示



autoj版本

微信图片_20220624174106.png原理


SpannableString.setSpan


字体效果全部使用该方法生成


安卓官方文档


https://developer.android.google.cn/reference/android/text/SpannableString?hl=en#setSpan(java.lang.Object, int, int, int)


效果列表


  1. 字符用图片替换
  2. 修改字符背景
  3. 修改字符颜色
  4. 文字添加点击事件
  5. 文字超链接


  1. 中划线
  2. 下划线
  3. 下标
  4. 上标
  5. 下标用图片代替


  1. 字体相对大小
  2. 字体绝对大小
  3. 基于X轴缩放
  4. 字体样式,粗体 BOLD、斜体 ITALIC等
  5. 文本外貌 TextAppearanceSpan    family值:monospace  serif  sans-serif


  1. 文本对齐方式
  2. 模糊BlurMaskFilter  INNER
  3. 模糊BlurMaskFilter  NORMAL
  4. 模糊BlurMaskFilter  OUTER
  5. 模糊BlurMaskFilter  SOLID


代码讲解


  1. 布局
ui.layout(
  <vertical margin="20">
    <text id="content" textSize="30sp"></text>
  </vertical>
);


  1. 文字内容
let spanStr = new SpannableString("...");


  1. 修改字体(该步骤不是必须的, 可以忽略)
tf = Typeface.createFromFile(java.io.File(files.path("./站酷高端黑.ttf")));
ui.content.setTypeface(tf);


  1. 处理后设置textview文字内容
handleSpanStr(ui.content, spanStr);
ui.content.setTextSize(random(20, 30));
ui.content.setText(spanStr);


处理SpannableString


  1. 插入图片
bitmap = BitmapFactory.decodeResource(context.getResources(), icon);
spanStr.setSpan(new IconMarginSpan(bitmap, 10), 0, 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE);


  1. 设置背景颜色
spanStr.setSpan(new BackgroundColorSpan(Color.YELLOW), 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


  1. 设置字体颜色
spanStr.setSpan(new ForegroundColorSpan(Color.RED), 3, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


  1. 设置点击事件
spanStr.setSpan(
  new ClickableSpan({
    onClick: function (widget) {
      Toast.makeText(context, "你点击了我", Toast.LENGTH_SHORT).show();
    },
  }),
  8,
  12,
  Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
);
view.setMovementMethod(LinkMovementMethod.getInstance());


  1. 中划线
spanStr.setSpan(new StrikethroughSpan(), 27, 29, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


  1. 下划线
spanStr.setSpan(new UnderlineSpan(), 29, 32, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


  1. 绝对大小
spanStr.setSpan(new AbsoluteSizeSpan(40), 33, 36, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


  1. 相对大小
spanStr.setSpan(new RelativeSizeSpan(2), 40, 43, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


  1. 基于X轴缩放
spanStr.setSpan(new ScaleXSpan(2), 43, 45, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);






相关文章
|
Android开发
autojs一键换肤
牙叔教程 简单易懂
156 0
|
Web App开发 移动开发 JavaScript
字体下载大宝库:12款好看的免费英文字体
  互联网上90%的信息是文本形式的,这就是设计师为什么不断的创造漂亮的字体,让网站中的的内容更加美观。此外,还有大量的印刷为基础的项目,其中的字体都是关键因素。今天这个列表中,我们选择了21款免费的英文字体分享给设计师们。
1775 0
字体下载大宝库:30款好看的免费英文字体
  互联网上将近90%的信息是文本形式的,大概这就是设计师为什么不断创造美丽的字体,让网站中的的内容更加美观。此外,还有大量的印刷为基础的项目,其中的字体都是关键因素。今天这个列表中,我们选择了30款最佳的免费字体分享给设计师,选择你喜欢的字体下载! 您可能感兴趣的相关文章 字体大宝库:1...
1239 0
换个字体解决Dreamweaver文字选不中的问题
  在使用Dreamweaver时,有时我们要选中一些字符进行编辑或删除,光标在英文字上面可以选中,在中文字上面就选不中,郁闷吧。比如在编辑下面这段文字的时候,如图所示,   想选中“你难得已经忘了吗?”,当鼠标点击你的时候,实际的光标却在前面的“失败”上,所以就选不中那句话   其实这个是代码视图的字体问题。
686 0
新鲜出炉!20款好看的英文字体下载
  字体是设计作品的重要组成部分,相比图形化元素,字体更能够清晰的表达含义。字体的运用是一门学问,使用恰当的字体作为设计元素能够达到事半功倍的效果。这里给大家分享20款新鲜出炉的好看的英文字体,可以免费下载。
1148 0
|
前端开发
字体大宝库:12款好看的手写艺术字体免费下载
  《字体大宝库》系列给大家带来最新12款好看的英文手写艺术字体可以免费下载使用,相信里面有你喜欢的。手写字体常用于印刷、网页设计及其它创意设计任务中,能够强调设计的自然性、非正式性,让设计作品看起来更有个性、更可爱。
1308 0
|
前端开发
字体大宝库:15款漂亮的手写艺术字体免费下载
  Web 设计人员正在不断寻找新的迷人的和独特的东西以吸引读者的目光,这也适用于字体。字体中在抓住观众的注意力的过程中发挥了至关重要的作用,引导读者深入发现内容的内在价值。   手写字体风格可分为两大类:斜体手写字体和手稿笔迹字体手写风格。
948 0
字体大宝库:20款好看的免费英文字体下载
  《字体大宝库》系列文章继续给大家带来20款好看的免费英文字体下载。设计者总是希望有最好的免费字体,以保持他们字体库的更新。这些免费的好看英文字体适用于任何类型的图形设计:Web,打印,动态图形等,也能完美的用于其他项目,如海报和标志。
908 0
|
前端开发 Windows
『Photoshop 教程』提高排版技巧的20个文字效果教程
  Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径。今天,我向大家分享最新20个 Photoshop 教程,提高你的排版技巧,制作时尚的文字效果。这些教程可以帮助把你的想法变成现实,并创造新的东西。
979 0
|
开发者
字体大宝库:25款好看又实用的英文字体下载
  今天收集的免费字体特别分享给网页设计和平面设计师。在早些时候,我发表了众多字体相关的文章,分享各种类型的免费字体,这些高品质的免费英文字体非常受欢迎。   在这篇文章中,你可以找到更多高品质的免费字体。
977 0