兔兔進度條Plus——SeekBar充當Progress
theme: Chinese-red
我正在參加「兔了個兔」創意投稿大賽,詳情請看:「兔了個兔」創意投稿大賽
前言
之前寫的progress其實根本沒有起到進度條的作用,太顯眼,而且並不好看,所以有了新的想法,我們將ProgressBar控制元件換成SeekBar控制元件,然後再將它的thumb指示器換成小兔子即可。
正篇
實現過程
首先,我們在需要進度條的頁面佈局的最開始加上下面程式碼:
XML
<SeekBar
android:id="@+id/vSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:thumb="@mipmap/rabbit_progress"/>
其中thumb屬性就是可以讓你換指標樣式的,而SeekBar其實也是多用於播放器的進度選擇器之類的,由於seekbar是可以拖動的,所以我們得把控制元件拖動給禁止了:
Kotlin
binding.vSeekBar.isEnabled = false
接著,我們為了更好的展示效果,在seekbar控制元件下面加了一個Button:
Kotlin
binding.vButton.setOnClickListener {
if (binding.vSeekBar.visibility != View.GONE) {
binding.vSeekBar.progress += 10
}
if (binding.vSeekBar.progress == 100) {
binding.vSeekBar.progress = 0
}
}
新增完按鈕後,我們為按鈕設定點選事件,每點一次就會出現進度條加10的事件,到達100後再置為0重複操作:
這樣,我們就有了一個兔子往前進的進度條,然後我們再把Button去除,再換到webview的webChromeClient中的重寫方法onProgressChanged中控制進度條增加的邏輯即可:
Kotlin
binding.vSeekBar.progress = newProgress
if (newProgress == 100) {
binding.vSeekBar.visibility = View.GONE
} else {
binding.vSeekBar.visibility = View.VISIBLE
}
當進度條加完後,就隱藏該控制元件,這樣也就不會一直看到這個控制元件。
總結
雖然內容不多,但是問題還是很多的,如果可以再把style樣式做一下,效果會更好,然後再重新定義一下進度條本體的顏色和形狀,不過,目前我對這部分還看的比較少,網上看到的自定義也非常繁多,等後面用Kotlin自定義View熟練了再重新畫一個Progress或SeekBar.
- 安卓開發一年技術小結——安卓開發技術整理
- 安卓Kotlin開發學習——接著看高階函式
- 兔兔按鈕——安卓懸浮按鈕
- 兔兔進度條Plus——SeekBar充當Progress
- 安卓基礎開發——ReentrantLock的簡單使用
- 安卓開發基礎——使用RecyclerView
- 安卓開發基礎(Java)——TextView的使用
- 安卓開發基礎——弱引用的使用
- 安卓開發基礎——實現音訊檔案的播放
- 讓UI忙碌的安卓Lottie動畫渲染庫(二)
- 強大而靈活的RecyclerView Adapter——BRVAH(框架引入與BaseQuickAdapter使用篇)
- 安卓語言基礎之Kotlin的面向物件程式設計
- 安卓語言基礎之Kotlin高階函式——Lambda表示式(二)
- 大放光彩的安卓Jetpack元件-ViewModel(一)
- 安卓語言基礎之Kotlin高階函式——Lambda表示式(一)
- 安卓開發必備——build.gradle檔案初探(一)
- 安卓開發學Flutter——Dart語法的一些注意點(第二篇)
- 簡單易用的安卓SharedPreferences儲存(資料儲存系列)
- 安卓開發基礎技術——WebView載入網頁
- 原汁原味的安卓檔案儲存(資料儲存系列)