android 控制元件點選水波紋效果的幾種方案
目前我所知道的至少有三種可以實現點選水波紋的效果
第一種:安卓自帶的方法
在安卓中有自帶的一種屬性,可以實現水波紋的效果,就是在所需要點選的控制元件屬性加上如下程式碼:
android:background="?attr/selectableItemBackground"
這種水波紋效果只適用於5.0以後的安卓系統
第二種:編寫ripple檔案
在res檔案先建立drawable-v21資料夾,並在資料夾下建立ripple檔案,命名符合安卓命名規範就行了,如下圖,我命名為bg_white:
接下來我們看看ripple檔案該怎麼寫,其實就是寫個shape,給個顏色值,如下圖:
在xml檔案中呼叫控制元件的background屬性:
android:background="@drawable/bg_white"
如下圖:
需要注意的是,需要在drawable資料夾下建立同名的bg_white.xml檔案,可以是selector或者shape檔案,這個是為了兼顧5.0以下的版本的點選效果,如果沒有的話,在5.0以下的版本在點選時候會報錯
這一種也是隻能在5.0以後系統才有效
第三種:github別人寫的控制元件
github地址:https://github.com/balysv/material-ripple
使用步驟:
1.新增依賴:
compile 'com.balysv:material-ripple:1.0.2'
2.包裹你要點選的佈局
<com.balysv.materialripple.MaterialRippleLayout
android:id="@+id/ripple"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Button inside a ripple"/>
</com.balysv.materialripple.MaterialRippleLayout>
其中提供瞭如下屬性,可以設定你水波紋時間,水波紋顏色,等等效果
值得一說的是這種方式適配範圍較管,可以適配到4.0以上的(4.0一下沒測試過),就是在寫佈局時候都要巢狀一層,會比較繁瑣。
以上就是我所知道的三種方式新增水波紋的效果,其實github上面也有好幾個新增水波紋效果的,但是都跟第三種大同小異,都是包裹布局的。就不一一列舉了。
相關文章
- Item點選水波紋效果
- Android 水波紋效果的探究Android
- Jetapck Compose 去除點選水波紋效果
- 使用CSS實現逼真的水波紋點選效果CSS
- Android 炫酷多重水波紋 MultiWaveHeaderAndroidHeader
- RecyclerView點選新增波紋效果View
- Flutter | 如何實現一個水波紋擴散效果的 WidgetFlutter
- Android Button 點選效果Android
- 浪起來!使用 drawBitmapMesh 實現模擬水波紋效果
- android獲取控制元件的幾種方法Android控制元件
- Android 點選波紋擴散動畫Android動畫
- Android-貝塞爾曲線實現水波紋動畫Android動畫
- javascript js WebGL WebGL2 後期處理特效之點選水波紋漣漪例子JavaScriptJSWeb特效
- Android - 控制元件抖動效果Android控制元件
- iOS全埋點解決方案-控制元件點選事件iOS控制元件事件
- Flutter 解決系統BottomNavigationBar的水波紋問題FlutterNavigation
- android短影片開發,點選兩次實現不同點選效果的實現方式Android
- Android的延遲實現的幾種解決方案以及原理分析Android
- Android中點選事件的四種寫法詳解Android事件
- Android自定義View 水波氣泡AndroidView
- webpack打包優化的幾種方案Web優化
- 2018年Android的保活方案效果統計Android
- 如何給普通圖片加上水波紋【shader 奇技淫巧】
- Input元件無點選效果元件
- AOP - 消除控制元件的點選抖動控制元件
- Android生成ViewModel例項的幾種方式AndroidView
- Android 截圖實現的幾種方式Android
- 關於Android的幾種事件處理Android事件
- Android一種翻板式互動效果Android
- Android 自定義View 點贊效果AndroidView
- Android外掛化的一種方案Android
- 增量採集中的幾種去重方案
- 高精度定位的幾種解決方案
- js 非同步的幾種解決方案JS非同步
- HarmonyOS NEXT應用開發—聽歌識曲水波紋特效案例特效
- 點選頁面愛心效果
- android中foreground水波實現過程分析Android
- 加密 K8s Secrets 的幾種方案加密K8S
- Redis實現分散式鎖的幾種方案Redis分散式