上一期學習了日期選擇器DatePicker和時間選擇器TimePicker,是不是感覺非常簡單,本期繼續來學習數值選擇器NumberPicker 。
一、NumberPicker概述
NumberPicker 是用於選擇一組預定義好數字的組件,用戶既可以通過鍵盤輸入數值,也可以通過滾動來選擇數值。
NumberPicker的常用方法如下:
setMinValue(int minVal):設置該組件支持的最小值。
setMaxValue(int maxVal):設置該組件支持的最大值。
setValue(int value):設置該組件的當前值。
getMaxValue:獲得該組件設置的最大值。
getMinValue:獲得該組件設置的最小值。
getValue:獲得當前組件顯示的值。
setValue(int value):設置當前組件顯示的值。
使用NumberPicker一共有2個監聽器和一個Formatter格式化處理器,
NumberPicker.OnValueChangeListener :用於監聽當前value的變化。
NumberPicker.OnScrollListener:用於監聽該控制項的scroll狀態。主要包括以下三種狀態:
SCROLL_STATE_TOUCH_SCROLL:用戶按下去然後滑動。
SCROLL_STATE_FLING: 相當於是SCROLL_STATE_TOUCH_SCROLL的後續滑動操作。
SCROLL_STATE_IDLE: NumberPicker不在滾動。
NumberPicker.Formatter: 用于格式化顯示該組件中的value,如0—23格式化為00 — 23。
二、NumberPicker示例
接下來通過一個簡單的示常式序來學習NumberPicker的使用。
繼續使用WidgetSample工程的advancedviewsample模塊,在app/main/res/layout/目錄下創建numberpicker_layout.xml文件,在其中填充如下代碼片段:
新建NumberPickerActivity.java文件,載入上面新建的布局文件,初始化NumberPicker並獲取用戶的選擇,具體代碼如下:
上面程序代碼為NumberPicker綁定事件監聽器的代碼,當用戶通過這該組件來選擇時間時,監聽器就會被觸發。
運行程序,可以看到下圖所示界面效果。
除了Android系統定義的DatePicker、TimePicker和NumberPicker,在實際開發中往往不能滿足,會經常自定義一些Picker組件,比如城市選擇器、性別選擇器、圖片選擇器、顏色選擇器等。
一般可以借用第三方組件來快速完成,當然也可以自定義實現,此處不做過多介紹,大家可以自己去研究,歡迎一起探討。
今天就先到這裡,如果有問題歡迎留言一起探討,也歡迎加入Android零基礎入門技術討論微信群,共同成長!
此文章版權為微信公眾號分享達人秀(ShareExpert)——鑫鱻所有,若需轉載請聯繫作者授權,特此聲明!
往期總結分享:
第1節:Android的前世今生
第2節:Android 系統架構和應用組件那些事
第3節:帶你一起來聊一聊Android開發環境
第4節:正確安裝和配置JDK
第5節:善用ADT Bundle
第6節:配置優化SDK Manager
第7節:搞定Android模擬器
第8節:HelloWorld,第一趟旅程出發點
第9節:Android實戰,不懂代碼也可以開發
第10節:開發IDE迎來Android Studio
第11節:運行Android Studio工程
第12節:熟悉Android Studio界面
第13節:Android Studio配置優化
第14節:使用高速Genymotion
第15節:掌握Android Studio項目結構
第16節:Android用戶界面開發概述
第17節:文本框TextView
第18節:輸入框EditText
第19節:按鈕Button
第20節:選擇控制項CheckBox和RadioButton
第21節:開關控制項ToggleButton和Switch
第22節:圖像視圖ImageView
第23節:ImageButton和ZoomButton
第24節:自定義View簡單使用
第25節:簡單且最常用的LinearLayout
第26節:layout_gravity和gravity大不同
第27節:正確使用padding和margin
第28節:輕鬆掌握RelativeLayout相對布局
第29節:善用TableLayout表格布局
第30節:兩分鐘掌握FrameLayout幀布局
第31節:少用的AbsoluteLayout絕對布局
第32節:新推出的GridLayout網格布局
第33節: Android事件處理概述
第34節:Android中基於監聽的事件處理
第35節:Android中基於回調的事件處理
第36節:Android系統事件的處理
第37節:初識ListView
第38節:初識Adapter
第39節:ListActivity和自定義列表項
第40節:自定義ArrayAdapter
第41節:使用SimpleAdapter
第42節:自定義BaseAdapter
第43節:ListView優化和列表首尾使用
第44節:ListView數據動態更新
第45節:網格視圖GridView
第46節:列表選項框Spinner
第47節:AutoCompleteTextView自動文本
第48節:ExpandableListView多級選擇
第49節:AdapterViewFlipper圖片輪播
第50節:StackView卡片堆疊
第51節:進度條ProgressBar
第52節:自定義炫酷進度條
第53節:SeekBar和RatingBar
第54節:視圖切換組件ViewSwitcher
第55節:ImageSwitcher和TextSwitcher
第56節:翻轉視圖ViewFlipper
第57節:DatePicker和TimePicker選擇器