Summary
安卓選擇器類庫,包括日期及時間選擇器(可設定範圍)、單項選擇器(可用于性别、職業、學曆、星座等)、城市位址選擇器(分省級、地級及縣級)、數字選擇器(可用于年齡、身高、體重、溫度等)、雙項選擇器、顔色選擇器、檔案及目錄選擇器等……
歡迎大夥兒在Issues送出你的意見或建議。
歡迎Fork & Pull requests貢獻您的代碼,大家共同學習【AndroidPicker交流群 604235437】。
檢視更新日志,新版本可能未對舊版API作相容處理,更新後若編譯報錯請根據錯誤提示更改。
正在重構2.x版本,感興趣的小夥伴可以點選此處檢視
Install
“app”是測試用例;“library”包括WheelPicker、ColorPicker、FilePicker、MultiplePicker,
WheelPicker包括DatePicker、TimePicker、OptionPicker、LinkagePicker、AddressPicker、NumberPicker、DoublePicker等。
其中WheelPicker、FilePicker及ColorPicker是獨立的,需要用哪個就隻依賴哪個,latest.release表示使用最新版,也可以參照此處指定具體的版本号,
具體步驟如下:
第一步,在項目根目錄下的build.gradle裡加:
repositories {
maven {
url "https://jitpack.io"
}
}
第二步,在項目的app子產品下的build.gradle裡加:
滾輪選擇器:
dependencies {
compile('com.github.gzu-liyujiang.AndroidPicker:WheelPicker:版本号') {
exclude group: 'com.android.support'
}
}
檔案目錄選擇器:
dependencies {
compile('com.github.gzu-liyujiang.AndroidPicker:FilePicker:版本号') {
exclude group: 'com.android.support'
}
}
顔色選擇器:
dependencies {
compile('com.github.gzu-liyujiang.AndroidPicker:ColorPicker:版本号') {
exclude group: 'com.android.support'
}
}
使用Eclipse的話,直接下載下傳AndroidPicker的jar包複制到你的項目的libs下即可。
ProGuard
由于位址選擇器使用了fastjson來解析,混淆時候需要加入以下類似的規則,不混淆Province、City等實體類。
-keepattributes InnerClasses,Signature
-keepattributes *Annotation*
-keep class cn.qqtheme.framework.entity.** { *;}
Sample (更多用法詳見示例項目)
各種設定方法:
picker.setXXX(...);
如:
設定選項偏移量,可用來要設定顯示的條目數,範圍為1-5,1顯示3行、2顯示5行、3顯示7行……
picker.setOffset(...);
設定啟用循環
picker.setCycleDisable(false);
設定每項的高度,範圍為2-4
picker.setLineSpaceMultiplier(...);
picker.setItemHeight(...);
設定文字顔色、字号、字型等
picker.setTextColor(...);
picker.setTextSize(...);
picker.setTextPadding(...);
picker.setTextSizeAutoFit(...);
picker.setTypeface(...);
設定機關标簽
picker.setLabel(...);
picker.setOnlyShowCenterLabel(...))
設定預設選中項
picker.setSelectedItem(...);
picker.setSelectedIndex(...);
設定滾輪項填充寬度,分割線最長
picker.setUseWeight(true);
picker.setDividerRatio(WheelView.DividerConfig.FILL);
設定觸摸彈窗外面是否自動關閉
picker.setCanceledOnTouchOutside(...);
設定分隔線配置項,設定null将隐藏分割線及陰影
picker.setDividerConfig(...);
picker.setDividerColor(...);
picker.setDividerRatio(...);
picker.setDividerVisible(...);
設定内容邊距
picker.setContentPadding(...);
設定選中項背景色
picker.setShadowColor(...)
自定義頂部及底部視圖
picker.setHeaderView(...);
picker.setFooterView(...);
獲得内容視圖(不要調用picker.show()方法),可以将其加入到其他容器視圖(如自定義的Dialog的視圖)中
picker.getContentView();
獲得按鈕視圖(需要先調用picker.show()方法),可以調用該視圖相關方法,如setVisibility()
picker.getCancelButton();
picker.getSubmitButton();
自定義選擇器示例:
CustomHeaderAndFooterPicker picker = new CustomHeaderAndFooterPicker(this);
picker.setOnOptionPickListener(new OptionPicker.OnOptionPickListener() {
@Override
public void onOptionPicked(int position, String option) {
showToast(option);
}
});
picker.show();
核心滾輪控件為WheelView,可以參照SinglePicker、DateTimePicker及LinkagePicker自行擴充。
Screenshots
以下圖檔顯示的效果可能已修改過,實際效果請運作demo檢視。
Thanks
Contact