導航:首頁 > 操作系統 > androidratingbar圖片

androidratingbar圖片

發布時間:2023-04-05 23:47:08

A. android自定義RatingBar(星級評分控制項)

RatingBar是基於SeekBar(拖動條)和ProgressBar(狀態條)的擴展,用星形來顯示等級評定!

RatingBar實現的效果圖:

      看著自定義的樣式遠遠比Android自帶的樣式好看多了,用戶體驗度遠遠提升,下面我們就來實現該控制項:

  定義根據圖片自定一個RatingBar的背景條,和圖片放到同一個目錄下面

     five_rating_bar.xml

backgroud:是用來填充背景圖片的,和進度條非常類似,當我們設置最高評分時(android:numStars),系統就會根據我們的設置,來畫出以星星為單位的背景(假如android:numStars="5",就會畫出5顆灰色的星星)

progress:是用來在背景圖片基礎上進行填充的指示屬性(和進度條類似,第一進度位置)

secondaryProgress:同progress一樣屬於第二進度位置(如果不定義這個,進度條拖動,每次就畫出一整顆星星(亮),第二進度(暗)沒有覆蓋掉第一進度之後的位置,從左往右是拖不出來N.5顆星星的,這樣評分效果就不完整)

    style.xml

      提取樣式屬於個人習慣,這里可以不提取出來,可以寫在布局文件中,這里RatingBar的樣式是通過style來切換的。

    通過 parent屬性來選擇繼承的父類,我們這里繼承RatingBar類。

    重新定義 progressDrawable屬性(RatingBar的背景條)

    maxHeight和minHeight可以根據我們圖片像素或者其他參考值來設定。

在我們需要用到RatingBar的xml配置文件裡面添加RatingBar控制項。

     main.xml

android:isIndicator              RatingBar是否是一個指示器(用戶無法進行更改)

android:numStars               顯示的星型數量,必須是一個整形值,像「100」。

android:rating                    默認的評分,必須是浮點類型,像「1.2」。

android:stepSize                 評分的步長,必須是浮點類型,像「1.2」。

就這么簡單,我們自定義屬於自己的RatingBar,星級評分控制項!

B. 為什麼android控制項中的ratingbar的圖片換成點9文件之後就變成一個星星了那

拉太大了 小點。。

C. android 自定義ratingbar怎麼變成這樣

把自定義局簡圖片從hdpi移動到mdpi中 , 系統會按照不同的文件,採取不同的壓縮方式,解決方法就是這么的簡單液臘粗鬧鎮。

D. android ratingbar怎麼設置半個星

RatingBar是基於SeekBar(拖動條)和ProgressBar(狀態條)的擴展,用星形來顯示等級評定,在使用默認RatingBar時,用戶可以通過觸摸/拖動/按鍵(比如遙控器)來設置評分,RatingBar自帶有兩種模式,一個小風格ratingBarStyleSmall,大風格為ratingBarStyleIndicator,大的只適合做指示,不適用與用戶交互。


黃色星形為自定義RatingBar
小綠色為自帶的ratingBarStyleSmall
大綠色為自帶的ratingBarStyleIndicator

通過設置style="XXXXXXXXXXXXX"進行設置切換(比如:style="?android:attr/ratingBarStyleIndicator")

自定義RatingBar需要注意的地方

一般情況下,系統自帶的RatingBar是遠遠無法滿足開發需求的,我們根據圖片自定一個RatingBar,在開始實現自定義RatingBar之前,順帶說一下res目錄下圖片放置目錄的區別:

在android sdk 1.5版本之前res目錄下面只有一個drawable一個目錄,在android sdk 1.6版本以後就出現了三個目錄,分別是drawable-hdpi、drawable-ldpi、drawable-mdpi、drawable-xhdpi,
(1)drawable-hdpi裡面存放高解析度的圖片,如WVGA(480x800),FWVGA(480x854)
(2)drawable-mdpi裡面存放中等解析度的圖片,如HVGA(320x480)
(3)drawable-ldpi裡面存放低解析度的圖片,如QVGA(240x320)
(4)drawable-xhdpi裡面存放超大解析度的圖片,至少960dp x 720dp
由於我們自定義實現的RatingBar裡面使用到的星形圖片解析度比較低,所以一般情況下,我們把圖片放到drawable-mdpi或者drawable-ldpi裡面。

自定義RatingBar的實現過程

首先,根據圖片自定一個RatingBar的背景條,和圖片放到同一個目錄下面(比如drawable-mdpi),room_rating_bar.xml

?


<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@+android:id/background"

android:drawable="@drawable/star1"></item> <span></span>

<item android:id="@+android:id/secondaryProgress"

android:drawable="@drawable/star1"></item>

<item android:id="@+android:id/progress"

android:drawable="@drawable/star2"></item>

</layer-list>

backgroud:是用來填充背景圖片的,和進度條非常類似,當我們設置最高評分時(android:numStars),系統就會根據我們的設置,來畫出以星星為單位的背景(假如android:numStars="5",就會畫出5顆灰色的星星)
progress:是用來在背景圖片基礎上進行填充的指示屬性(和進度條類似,第一進度位置)
secondaryProgress:同progress一樣屬於第二進度位置(如果不定義這個,進度條拖動,每次就畫出一整顆星星(亮),第二進度(暗)沒有覆蓋掉第一進度之後的位置,從左往右是拖不出來N.5顆星星的,這樣評分效果就不完整)

其次,通過開始介紹,我們知道RatingBar的樣式是通過style來切換的,在android中,我們可以通過在styles.xml文件中通過設置style屬性,來繼承我們需要自定控制項類型,如下styles.xml

?


<?xml version="1.0" encoding="utf-8"?>

<resources>

<style name="roomRatingBar" parent="@android:style/Widget.RatingBar">

<item name="android:progressDrawable">@drawable/room_rating_bar</item>

<item name="android:minHeight">16dp</item>

<item name="android:maxHeight">16dp</item>

</style>

</resources>

通過parent屬性來選擇繼承的父類,我們這里繼承RatingBar類。
重新定義progressDrawable屬性(RatingBar的背景條,和我們在首先裡面介紹的那樣)
maxHeight和minHeight可以根據我們圖片像素或者其他參考值來設定。

最後,在我們需要用到RatingBar的xml配置文件裡面添加RatingBar控制項。
main.xml

?

<RatingBar

android:id="@+id/room_ratingbar"

style="@style/roomRatingBar"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:numStars="5"

android:rating="4"

android:layout_marginLeft="10dp" >

</RatingBar>

E. android中如何改變ratingbar 顏色

首先我們在styles.xml寫入一個樣式:
<?xml version="1.0" encoding="utf-8"?>

<resources>

<style name="foodRatingBar" parent="@android:style/Widget.RatingBar">

<item name="android:progressDrawable">@drawable/food_ratingbar_full</item>

<item name="android:minHeight">48dip</item>

<茄鍵判item name="android:maxHeight">48dip</item>

</style>

</resources>

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@+android:id/background"

android:drawable="@drawable/food_ratingbar_full_empty" />

<item android:id="@+android:id/secondaryProgress"

android:drawable="顫改@drawable/food_ratingbar_full_empty" />

<item android:id="@+android:id/progress"

android:drawable="@drawable/food_ratingbar_full_filled" />

亮態</layer-list>

food_ratingbar_full_empty是代表沒有選中圖片效果,food_ratingbar_full_filled選中圖片效果。
最後將style放入RatingBar中,即可實現你的圖片效果:

<RatingBar android:id="@+id/my_rating_bar"
style="@style/foodRatingBar" />

閱讀全文

與androidratingbar圖片相關的資料

熱點內容
鯤鵬pc伺服器是什麼 瀏覽:572
一級防震梁箍筋加密 瀏覽:928
linuxxampp64位 瀏覽:728
西安哪個app能買到東西 瀏覽:457
eps命令鍵 瀏覽:37
塑料文件夾的尺寸 瀏覽:210
君威壓縮機電磁閥 瀏覽:945
安卓6手機為什麼不能用app 瀏覽:860
什麼java編譯器支持中文 瀏覽:563
香港伺服器如何做代理 瀏覽:201
pdf寫入 瀏覽:986
高爾夫電台怎麼添加到文件夾 瀏覽:239
四川麻將一般下哪個app 瀏覽:864
反編譯exe腳本 瀏覽:462
源碼文件夾怎麼編譯到固件中 瀏覽:912
ERp列印伺服器錯誤怎麼弄 瀏覽:113
蚌埠u盤加密軟體有哪些 瀏覽:180
前端如何認證伺服器 瀏覽:556
linux切換db2用戶命令 瀏覽:308
相片如何用電解壓 瀏覽:908