前面兩期都在學習ProgressBar的使用文判,關于自定義ProgressBar的內容后期會繼續(xù)學習的弥臼,本期先來學習ProgressBar的2個子組件SeekBar和RatingBar篷牌。
一巍糯、SeekBar
拖動條和進度條非常相似呻右,只是進度條采用顏色填充來表明進度完成的程度阵难,而拖動條則通過滑塊的位置來標識數值——而且拖動條允許用戶拖動滑塊來改變值饶套,因此拖動條通常用于對系統(tǒng)的某種數值進行調節(jié)漩蟆,比如調節(jié)音量等。
由于拖動條SeekBar繼承了 ProgressBar,因此ProgressBar所支持的XML屬|性和方法完全適用于SeekBar妓蛮。
SeekBar允許用戶改變拖動條的滑塊外觀怠李,改變滑塊外觀通過如下屬性來指定。
android:thumb:指定一個Drawable對象蛤克,該對象將作為自定義滑塊扔仓。
為了讓程序能響應拖動條滑塊位置的改變,程序可以為SeekBar綁定一個OnSeekBaiChangeListener監(jiān)聽器咖耘,其三個回調方法如下:
onProgressChanged:進度發(fā)生改變時會觸發(fā)翘簇。
onStartTrackingTouch:按住SeekBar時會觸發(fā)。
onStopTrackingTouch:放開SeekBar時觸發(fā)儿倒。
接下來通過一個簡單的示例程序來學習系統(tǒng)默認SeekBar的使用版保。
繼續(xù)使用WidgetSample工程的advancedviewsample模塊,在app/main/res/layout/目錄下創(chuàng)建seekbar_layout.xml文件夫否,在其中填充如下代碼片段:
界面交互代碼非常簡單彻犁,為拖動條綁定一個監(jiān)聽器。新建SeekBarActivity.java文件凰慈,加載上面新建的布局文件汞幢,具體代碼如下:
修改程序啟動的Activity,運行程序微谓,當拖動滑塊時森篷,可以可以看到下圖所示界面效果输钩。
同ProgressBar一樣,SeekBar也是同樣的道理可以自定義出來很多不同種類的效果仲智。
二买乃、RatingBar
星級評分條與拖動條有相同的父類:AbsSeekBar,因此它們十分相似钓辆。實際上星級評分條與拖動條的用法剪验、功能都十分接近:它們都允許用戶通過拖動來改變進度。RatingBar與SeekBar的最大區(qū)別在于:RatingBar通過星星來表示進度前联。
RatingBar所支持的常見XML屬性如下:
android:isIndicator:是否用作指示功戚,用戶無法更改,默認false似嗤。
android:numStars:顯示多少個星星疫铜,必須為整數。
android:rating:默認評分值双谆,必須為浮點數壳咕。
android:stepSize: 評分每次增加的值,必須為浮點數顽馋。
為了讓程序能響應星級評分條評分的改變谓厘,可以考慮為它綁定一個OnRatingBarChangeListener監(jiān)聽器。
接下來通過一個簡單的示例程序來學習系統(tǒng)默認RatingBar的使用寸谜。
繼續(xù)使用WidgetSample工程的advancedviewsample模塊竟稳,在app/main/res/layout/目錄下創(chuàng)建ratingbar_layout.xml文件,在其中填充如下代碼片段:
修改MainActivity.java里面加載的布局文件熊痴,運行后其效果如下圖所示他爸。
很多時候,默認的RatingBar并不能滿足我們的要求果善,一般都是修改RatingBar的大小诊笤、圖樣、顏色等巾陕,也可以同ProgressBar一樣自定義讨跟。
今天就先到這里,如果有問題歡迎留言一起探討鄙煤,也歡迎加入Android零基礎入門技術討論微信群晾匠,共同成長!
此文章版權為微信公眾號分享達人秀(ShareExpert)——鑫鱻所有梯刚,若需轉載請聯(lián)系作者授權凉馆,特此聲明!
往期總結分享:
Android零基礎入門第1節(jié):Android的前世今生
Android零基礎入門第2節(jié):Android 系統(tǒng)架構和應用組件那些事
Android零基礎入門第3節(jié):帶你一起來聊一聊Android開發(fā)環(huán)境
Android零基礎入門第4節(jié):正確安裝和配置JDK, 高富帥養(yǎng)成第一招
Android零基礎入門第5節(jié):善用ADT Bundle, 輕松邂逅女神
Android零基礎入門第6節(jié):配置優(yōu)化SDK Manager, 正式約會女神
Android零基礎入門第7節(jié):搞定Android模擬器,開啟甜蜜之旅
Android零基礎入門第8節(jié):HelloWorld澜共,我的第一趟旅程出發(fā)點
Android零基礎入門第9節(jié):Android應用實戰(zhàn)向叉,不懂代碼也可以開發(fā)
Android零基礎入門第10節(jié):開發(fā)IDE大升級,終于迎來了Android Studio
Android零基礎入門第11節(jié):簡單幾步帶你飛咳胃,運行Android Studio工程
Android零基礎入門第12節(jié):熟悉Android Studio界面植康,開始裝逼賣萌
Android零基礎入門第13節(jié):Android Studio配置優(yōu)化旷太,打造開發(fā)利器
Android零基礎入門第14節(jié):使用高速Genymotion展懈,跨入火箭時代
Android零基礎入門第15節(jié):掌握Android Studio項目結構,揚帆起航
Android零基礎入門第16節(jié):Android用戶界面開發(fā)概述
Android零基礎入門第17節(jié):文本框TextView
Android零基礎入門第18節(jié):輸入框EditText
Android零基礎入門第19節(jié):按鈕Button
Android零基礎入門第20節(jié):復選框CheckBox和單選按鈕RadioButton
Android零基礎入門第21節(jié):開關組件ToggleButton和Switch
Android零基礎入門第22節(jié):圖像視圖ImageView
Android零基礎入門第23節(jié):圖像按鈕ImageButton和縮放按鈕ZoomButton
Android零基礎入門第24節(jié):自定義View簡單使用供璧,打造屬于你的控件
Android零基礎入門第25節(jié):簡單且最常用的LinearLayout線性布局
Android零基礎入門第26節(jié):兩種對齊方式存崖,layout_gravity和gravity大不同
Android零基礎入門第27節(jié):正確使用padding和margin
Android零基礎入門第28節(jié):輕松掌握RelativeLayout相對布局
Android零基礎入門第29節(jié):善用TableLayout表格布局
Android零基礎入門第30節(jié):兩分鐘掌握FrameLayout幀布局
Android零基礎入門第31節(jié):少用的AbsoluteLayout絕對布局
Android零基礎入門第32節(jié):新推出的GridLayout網格布局
Android零基礎入門第33節(jié):Android事件處理概述
Android零基礎入門第34節(jié):Android中基于監(jiān)聽的事件處理
Android零基礎入門第35節(jié):Android中基于回調的事件處理
Android零基礎入門第36節(jié):Android系統(tǒng)事件的處理
Android零基礎入門第37節(jié):初識ListView
Android零基礎入門第38節(jié):初識Adapter
Android零基礎入門第39節(jié):ListActivity和自定義列表項
Android零基礎入門第40節(jié):自定義ArrayAdapter
Android零基礎入門第41節(jié):使用SimpleAdapter
Android零基礎入門第42節(jié):自定義BaseAdapter
Android零基礎入門第43節(jié):ListView優(yōu)化和列表首尾使用
Android零基礎入門第44節(jié):ListView數據動態(tài)更新
Android零基礎入門第45節(jié):網格視圖GridView
Android零基礎入門第46節(jié):列表選項框Spinner
Android零基礎入門第47節(jié):自動完成文本框AutoCompleteTextView
Android零基礎入門第48節(jié):可折疊列表ExpandableListView
Android零基礎入門第49節(jié):AdapterViewFlipper圖片輪播
Android零基礎入門第50節(jié):StackView卡片堆疊
Android零基礎入門第51節(jié):進度條ProgressBar
Android零基礎入門第52節(jié):自定義ProgressBar炫酷進度條