亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android自定義評分控件的完整實例

 更新時間:2022年05月29日 10:00:30   作者:任他明月下西樓  
在Android開發(fā)中,我們經(jīng)常會用到對商家或者商品的評價,運用星星進行打分,下面這篇文章主要給大家介紹了關于Android自定義評分控件的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下

前言

無意中翻到幾年前寫過的一個RatingBar,可以拖拽,支持自定義星星圖片,間距大小等參數(shù)。

自定義參數(shù)

為了方便擴展,支持更多的樣式,這里將大部分參數(shù)設置成支持外部可配置的形式。

<declare-styleable name="RatingBarPlus">
    <attr name="hideImageResource" format="reference"/>
    <attr name="showImageResource" format="reference"/>
    <attr name="starSpace" format="dimension"/>
    <attr name="maxStar" format="integer"/>
    <attr name="stepSize" format="float"/>
    <attr name="rating" format="float"/>
    <attr name="starWidth" format="dimension"/>
    <attr name="starHeight" format="dimension"/>
</declare-styleable>
  • hideImageResource 暗星星圖片id
  • showImageResource 亮星星圖片id
  • starSpace 星星間距
  • maxStar 星星最大個數(shù)
  • stepSize 評分步長,即能不能選中0.1個星
  • rating 默認評分
  • starWidth 星星寬度
  • starHeight 星星高度

解析參數(shù)

創(chuàng)建星星位圖的時候需要根據(jù)配置的大小和圖片本身的寬高進行縮放。

繪制

繪制完成之后我們就可以動態(tài)設置評分來回顯之前的評分,但是經(jīng)常我們需要與控件交互,動態(tài)地設置分數(shù),所以我們還需要重寫onTouchEvent方法完成事件處理。

事件處理

評分需要隨著手指的移動而動態(tài)變化,這里我們記錄下當前手指所在的位置,如果在星星上面,就算出當前位置距離星星左邊的長度占據(jù)整個星星寬度的百分比,然后根據(jù)設置的stepSize參數(shù)動態(tài)微調總評分。

評分監(jiān)聽

我們還需要將評分暴露給外部,處理主動調用getRating()方法獲取之外,我們還可以提供一個監(jiān)聽接口,實時提供回調。

功能事件比較簡單,只需要在事件處理的時候,微調總評分完成之后回調一下數(shù)據(jù)就可以了。

if (onRatingChangeListener != null) {
    onRatingChangeListener.onRatingChange(rating);
}

外部使用

ratingBar.setOnRatingChangeListener{
    ratingText.text = "當前評分:${it}"
}

總結

到此這篇關于Android自定義評分控件的文章就介紹到這了,更多相關Android自定義評分控件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Android實現(xiàn)登錄郵箱的自動補全功能

    Android實現(xiàn)登錄郵箱的自動補全功能

    這篇文章主要為大家詳細介紹了Android實現(xiàn)登錄郵箱的自動補全功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Android 有效的解決內(nèi)存泄漏的問題實例詳解

    Android 有效的解決內(nèi)存泄漏的問題實例詳解

    這篇文章主要介紹了Android 有效的解決內(nèi)存泄漏的問題的相關資料,這里舉例說明,如何實現(xiàn)解決內(nèi)存泄漏,需要的朋友可以參考下
    2016-11-11
  • android從資源文件中讀取文件流并顯示的方法

    android從資源文件中讀取文件流并顯示的方法

    這篇文章主要介紹了android從資源文件中讀取文件流并顯示的方法,涉及Android針對文件的讀取及顯示技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Android Studio使用教程(四):Gradle基礎

    Android Studio使用教程(四):Gradle基礎

    這篇文章主要介紹了Android Studio使用教程(四):Gradle基礎,本文講解了什么是Gradle、安裝Gradle、Gradle 基本概念等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • Android App中讀取XML與JSON格式數(shù)據(jù)的基本方法示例

    Android App中讀取XML與JSON格式數(shù)據(jù)的基本方法示例

    這篇文章主要介紹了Android App中讀取XML與JSON格式數(shù)據(jù)的基本方法示例,Android中自帶的JSONObject非常好用,需要的朋友可以參考下
    2016-03-03
  • Flutter中漸變色的使用案例分享

    Flutter中漸變色的使用案例分享

    在日常的開發(fā)中,UI為了讓界面更加吸引人往往會在界面上用到大量的漸變色,本文將通過幾個案例更好的去了解Flutter中漸變色的使用,需要的可以參考一下
    2023-06-06
  • Android項目遷移到AndroidX的方法步驟

    Android項目遷移到AndroidX的方法步驟

    這篇文章主要介紹了Android項目遷移到AndroidX的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Kotlin中的擴展函數(shù)與屬性示例詳解

    Kotlin中的擴展函數(shù)與屬性示例詳解

    理論上來說,擴展函數(shù)很簡單,它就是一個類的成員函數(shù),不過定義在類的外面。下面這篇文章主要給大家介紹了關于Kotlin中擴展函數(shù)與屬性的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-06-06
  • Android實現(xiàn)QQ的第三方登錄和分享

    Android實現(xiàn)QQ的第三方登錄和分享

    這篇文章主要為大家詳細介紹了Android實現(xiàn)QQ的第三方登錄和分享,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 深入理解Android之接口回調機制

    深入理解Android之接口回調機制

    本篇文章主要介紹了Android之接口回調機制,在開發(fā)中經(jīng)常會用到,具有一定的學習價值,有需要的可以來了解一下。
    2016-10-10

最新評論