专栏首页恩蓝脚本Kotlin实现半圆形进度条的方法示例

Kotlin实现半圆形进度条的方法示例

Kotlin的简要介绍

在开发之前,很多同学一定有很多疑问,Kotlin到底有啥好处,怎么和现有的项目共存呢?Java那么些特性Kotlin都有吗?嗯,让我们一一来看。

以下内容摘自:Kotlin的官方网站:https://www.kotlincn.net/docs/reference/android-overview.html

Kotlin 非常适合开发 Android 应用程序,将现代语言的所有优势带入 Android 平台而不会引入任何新的限制:

  • 兼容性:Kotlin 与 JDK 6 完全兼容,保障了 Kotlin 应用程序可以在较旧的 Android 设备上运行而无任何问题。Kotlin 工具在 Android Studio 中会完全支持,并且兼容 Android 构建系统。
  • 性能:由于非常相似的字节码结构,Kotlin 应用程序的运行速度与 Java 类似。 随着 Kotlin 对内联函数的支持,使用 lambda 表达式的代码通常比用 Java 写的代码运行得更快。
  • 互操作性:Kotlin 可与 Java 进行 100% 的互操作,允许在 Kotlin 应用程序中使用所有现有的 Android 库 。这包括注解处理,所以数据绑定和 Dagger 也是一样。
  • 占用:Kotlin 具有非常紧凑的运行时库,可以通过使用 ProGuard 进一步减少。 在实际应用程序中,Kotlin 运行时 只增加几百个方法以及 .apk 文件不到 100K 大小。
  • 编译时长:Kotlin 支持高效的增量编译,所以对于 清理构建会有额外的开销,增量构建通常与 Java 一样快或者更快。
  • 学习曲线:对于 Java 开发人员,Kotlin 入门很容易。包含在 Kotlin 插件中的自动 Java 到 Kotlin 的转换器 有助于迈出第一步。Kotlin 心印 通过一系列互动练习提供了语言主要功能的指南。

使用Kotlin编写的半圆形的进度条,效果如下

方法如下

导入依赖

compile 'com.blackflagbin:semicircleprogressview:0.0.3'

在布局文件中

<!--angle 每条短线之间间隔角度-- 
<!--progress 进度-- 
<!--showProgressText 是否显示进度文字-- 
<!--strokeWidth 每条短线的宽度(粗细)-- 
<com.blackflagbin.semicircleprogressview.SemiCircleProgressView
  android:id="@+id/progress"
  android:layout_width="300dp"
  android:layout_height="wrap_content"
  android:layout_centerHorizontal="true"
  android:layout_marginTop="50dp"
  app:angle="3"
  app:progress="13"
  app:showProgressText="true"
  app:strokeWidth="3"/ 

在代码中

//设置进度
progress.setProgress(3f)
//获取进度
val progress = progress.getProgress()
//更新进度
progress.updateProgress(75f)

如果想要自定义进度文字实现gif演示图中第二个进度条中的类似的文字效果,可以参考库中的MySemiCircleProgressView

//覆写此方法以实现自定义进度文字,height代表控件的高度
drawProgressText(canvas: Canvas,height:Float)

Github地址

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn的支持。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 利用Kotlin Tools如何快速添加Kotlin依赖详解

    2017 Google IO 大会,宣布将支持Kotlin作为开发语言。自此Kotlin成为了Android开发中的又一官方支持语言,当然这并不表明Google...

    砸漏
  • 使用Android studio查看Kotlin的字节码教程

    Kotlin是一门JVM语言,它被google大力推广,现如今已经是Android官方推荐的开发语言了。为了更好的学习Kotlin,你必须要从字节码的角度来看待...

    砸漏
  • Kotlin入门教程之开发环境搭建

    众所周知,随着Google I/O大会的召开,Google宣布将支持Kotlin作为Android的开发语言,最近几日,关于Kotlin的文章、介绍就异常的活跃...

    砸漏
  • Kotlin 视频课程系列一:《零基础学习 Kotlin 编程》

    在你决定要打开这个页面阅读的瞬间,风云巨变互联网行业里拼搏的你, 已经得到了一个引领时代 , 改变命运,突破瓶颈的机会。

    一个会写诗的程序员
  • 让 Kotlin 为数据科学做好准备

    今年在 2019 年 KotlinConf 上,Roman Belov 概述了 Kotlin 的数据科学方法。既然该演讲现在已公开,我们决定重述一下,并分享一些...

    bennyhuo
  • 利用Kotlin Tools如何快速添加Kotlin依赖详解

    2017 Google IO 大会,宣布将支持Kotlin作为开发语言。自此Kotlin成为了Android开发中的又一官方支持语言,当然这并不表明Google...

    砸漏
  • 说说最近官方公布的 Kotlin 的动态

    今年年底还有些事情要做,所幸大多数都与 Kotlin 有关系,不算耽搁太多。加上现阶段大家有相对充足的资料学习 Kotlin,尽管协程之前的资料相对匮乏,我也在...

    bennyhuo
  • 聚焦 Android 11: 开发语言

    在往期 #11WeeksOfAndroid 系列文章中我们介绍了 联系人和身份、隐私和安全、 Android 11 兼容性 ,本期将 聚焦语言 。我们将为大...

    Android 开发者
  • Kotlin 1.4 现已发布,专注于质量和性能

    Kotlin 1.4.0 今日发布!在过去的几年里,我们一直在努力使 Kotlin 成为一种有趣、令人愉快且高效的编程语言。为了借助此版本的 Kotlin 继续...

    bennyhuo
  • [转]Kotlin 语言入门宝典 | Android 开发者 FAQ Vol.5

    导语: 官方出的 FAQ ,kotlin是兼容 java 6.0 的 jvm 语言,此篇 FAQ 中,大概需要重点关注的大概是 APK 的影响吧: Kotlin...

    MelonTeam

扫码关注云+社区

领取腾讯云代金券