編輯:關於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的實現過程
backgroud:是用來填充背景圖片的,和進度條非常類似,當我們設置最高評分時(android:numStars),系統就會根據我們的設置,來畫出以星星為單位的背景(假如android:numStars=”5”,就會畫出5顆灰色的星星)
progress:是用來在背景圖片基礎上進行填充的指示屬性(和進度條類似,第一進度位置)
secondaryProgress:同progress一樣屬於第二進度位置(如果不定義這個,進度條拖動,每次就畫出一整顆星星(亮),第二進度(暗)沒有覆蓋掉第一進度之後的位置,從左往右是拖不出來N.5顆星星的,這樣評分效果就不完整)
其次,通過開始介紹,我們知道RatingBar的樣式是通過style來切換的,在android中,我們可以通過在styles.xml文件中通過設置style屬性,來繼承我們需要自定控件類型,如下styles.xml
java
通過 parent屬性來選擇繼承的父類,我們這裡繼承RatingBar類。
重新定義 progressDrawable屬性(RatingBar的背景條,和我們在首先裡面介紹的那樣)
maxHeight和minHeight可以根據我們圖片像素或者其他參考值來設定。
最後,在我們需要用到RatingBar的xml配置文件裡面添加RatingBar控件。
圖片放大縮小(和ViewPager配合使用流暢顯示)--第三方開源--PhotoView, 圖片的放大縮小實現效果是使用的github上的一個開源項目photoView實
Android天天數錢游戲項目源碼,android項目源碼Android天天數錢游戲源碼,源碼功能,天天數錢,這個游戲現在很多線上的小游戲都有這個了,游戲項目是在基於an
Android自定義對話框,android自定義在android中有自帶的對話框,為了美觀,很多開發者會使用自定義對話框,如下圖: 點擊“彈出自定義對話框按
滑動指示選項卡android.support.design.widget.TabLayout的簡單使用,android選項卡滑動 該TabLayout的功用,簡單的說,就