溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android中RatingBar的自定義效果

發(fā)布時間:2020-06-06 16:22:24 來源:網(wǎng)絡(luò) 閱讀:297 作者:tfy1332 欄目:移動開發(fā)

Android中RatingBar的自定義效果
有時候android系統(tǒng)提供給我們的ratingbar效果并不達到我們的要求,這個時候就可以自定義自己喜歡的ratingbar。
從上面的效果可以看出,自定義這樣的組件,需要兩張圖片:Android中RatingBar的自定義效果  。一張用來未選擇的效果,一張用來顯示的效果。那還要中間那種一半是未選擇一半時選擇的呢?其實當(dāng)你寫好這樣的組件后,系統(tǒng)就會自動幫你自動解析生成那種效果。
整個項目布局:
Android中RatingBar的自定義效果
我們一步一步來分析:

Xml代碼  <RatingBar  

 

android:layout_marginLeft="10dip"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:id="@+id/room_ratingbar">


從上面可看出自定義ratingbar主要是這段 ,好我們?nèi)フ业竭@段代碼

/////////styles.xml

Xml代碼  







上面的意思是繼承@android:style/Widget.RatingBar,重寫android:progressDrawable屬性,換成我們自定義@drawable/room_rating_bar文件。

控制該組件的最大和最小高度。好我們繼續(xù)去找這自定義文件@drawable/room_rating_bar。

///// room_rating_bar.xml

Xml代碼  





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

android:drawable="@drawable/room_unselect">

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

android:drawable="@drawable/room_unselect">

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

android:drawable="@drawable/room_select">


好了,越來越接近真相了。這里就是定義組件的背景圖片、一級進度背景圖片和二級進度背景圖片(里面這些id都是系統(tǒng)的id,當(dāng)系統(tǒng)運行到這里時會自動根據(jù)這個id去重畫組件)

講到這里大概明白怎么用了。其實很多組件都可以通過這樣的方法來使用,但如果明白整個過程,那以后做起其他來都至少有一點得心應(yīng)手的感覺吧。好!下來我也只能說說我的見解,因為本人對android的理解也不是很深入。

前提是下載android的源碼,這里我就不講了。在android framework\\base\\core\\res\\res\\values(android framework是我保存源碼的目錄)目錄下找到styles.xml文件,該文件是android系統(tǒng)運行時所要加載的文件,里面保存了所有組件的樣式定義。在里面你可以找到


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI