Kotlin實現(xiàn)半圓形進(jìn)度條的方法示例
Kotlin的簡要介紹
在開發(fā)之前,很多同學(xué)一定有很多疑問,Kotlin到底有啥好處,怎么和現(xiàn)有的項目共存呢?Java那么些特性Kotlin都有嗎?嗯,讓我們一一來看。
以下內(nèi)容摘自:Kotlin的官方網(wǎng)站:https://www.kotlincn.net/docs/reference/android-overview.html
Kotlin 非常適合開發(fā) Android 應(yīng)用程序,將現(xiàn)代語言的所有優(yōu)勢帶入 Android 平臺而不會引入任何新的限制:
- 兼容性:Kotlin 與 JDK 6 完全兼容,保障了 Kotlin 應(yīng)用程序可以在較舊的 Android 設(shè)備上運行而無任何問題。Kotlin 工具在 Android Studio 中會完全支持,并且兼容 Android 構(gòu)建系統(tǒng)。
- 性能:由于非常相似的字節(jié)碼結(jié)構(gòu),Kotlin 應(yīng)用程序的運行速度與 Java 類似。 隨著 Kotlin 對內(nèi)聯(lián)函數(shù)的支持,使用 lambda 表達(dá)式的代碼通常比用 Java 寫的代碼運行得更快。
- 互操作性:Kotlin 可與 Java 進(jìn)行 100% 的互操作,允許在 Kotlin 應(yīng)用程序中使用所有現(xiàn)有的 Android 庫 。這包括注解處理,所以數(shù)據(jù)綁定和 Dagger 也是一樣。
- 占用:Kotlin 具有非常緊湊的運行時庫,可以通過使用 ProGuard 進(jìn)一步減少。 在實際應(yīng)用程序中,Kotlin 運行時 只增加幾百個方法以及 .apk 文件不到 100K 大小。
- 編譯時長:Kotlin 支持高效的增量編譯,所以對于 清理構(gòu)建會有額外的開銷,增量構(gòu)建通常與 Java 一樣快或者更快。
- 學(xué)習(xí)曲線:對于 Java 開發(fā)人員,Kotlin 入門很容易。包含在 Kotlin 插件中的自動 Java 到 Kotlin 的轉(zhuǎn)換器 有助于邁出第一步。Kotlin 心印 通過一系列互動練習(xí)提供了語言主要功能的指南。
使用Kotlin編寫的半圓形的進(jìn)度條,效果如下
方法如下
導(dǎo)入依賴
compile 'com.blackflagbin:semicircleprogressview:0.0.3'
在布局文件中
<!--angle 每條短線之間間隔角度--> <!--progress 進(jìn)度--> <!--showProgressText 是否顯示進(jìn)度文字--> <!--strokeWidth 每條短線的寬度(粗細(xì))--> <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"/>
在代碼中
//設(shè)置進(jìn)度 progress.setProgress(3f) //獲取進(jìn)度 val progress = progress.getProgress() //更新進(jìn)度 progress.updateProgress(75f)
如果想要自定義進(jìn)度文字實現(xiàn)gif演示圖中第二個進(jìn)度條中的類似的文字效果,可以參考庫中的MySemiCircleProgressView
//覆寫此方法以實現(xiàn)自定義進(jìn)度文字,height代表控件的高度 drawProgressText(canvas: Canvas,height:Float)
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
使用Android原生WebView+Highcharts實現(xiàn)可左右滑動的折線圖
折線圖是Android開發(fā)中經(jīng)常會碰到的效果,但由于涉及自定義View的知識,對許多剛?cè)腴T的小白來說會覺得很高深,下面這篇文章主要給大家介紹了關(guān)于如何使用Android原生WebView+Highcharts實現(xiàn)可左右滑動的折線圖的相關(guān)資料,需要的朋友可以參考下2022-05-05Android實現(xiàn)觸發(fā)html頁面的Button控件點擊事件方式
這篇文章主要介紹了Android實現(xiàn)觸發(fā)html頁面的Button控件點擊事件方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03android開發(fā)socket編程之udp發(fā)送實例分析
這篇文章主要介紹了android開發(fā)socket編程之udp發(fā)送,實例分析了Android開發(fā)socket網(wǎng)絡(luò)編程中udp發(fā)送的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04viewPager+fragment刷新緩存fragment的方法
這篇文章主要介紹了viewPager+fragment刷新緩存fragment的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03Android 沉浸式改變小米魅族狀態(tài)欄顏色的實例代碼
這篇文章主要介紹了Android 沉浸式改變小米魅族狀態(tài)欄顏色的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-02-02