• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PickerView: Android滚动选择器(省市区联动选择、日期选择、时间选择) ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

PickerView

开源软件地址:

https://gitee.com/duanhong169/PickerView

开源软件介绍:

PickerView gitHub release platform license Build status

Android滚动选择器

使用方法

1. 添加依赖

注:${latestVersion}请替换为当前最新版本号,见releases

gradle:

implementation 'com.github.duanhong169:picker-view:${latestVersion}'

maven:

<dependency>	<groupId>com.github.duanhong169</groupId>	<artifactId>picker-view</artifactId>	<version>${latestVersion}</version>	<type>pom</type></dependency>

2. 集成到项目中

2.1 集成PickerView

添加到layout文件中:

<top.defaults.view.PickerView	android:id="@+id/pickerView"	android:layout_width="match_parent"	android:layout_height="wrap_content"/>
使用列表作为数据源
List<Item> items = new ArrayList<>();for (int i = 0; i < 42; i++) {    items.add(new Item("Item " + i));}pickerView.setItems(Item.sampleItems(), item -> textView.setText(item.getText()));
实现Adapter作为数据源

配置数据源:

PickerView.Adapter adapter = new PickerView.Adapter() {    @Override    public int getItemCount() {        return 42;    }    @Override    public String getText(int index) {        return "Item " + index;    }};pickerView.setAdapter(adapter);

监听选择事件:

pickerView.setOnSelectedItemChangedListener((pickerView, previousPosition, selectedItemPosition) ->         textView.setText(pickerView.getAdapter().getText(selectedItemPosition)));

2.2 集成DivisionPickerView

添加到layout文件中:

<top.defaults.view.DivisionPickerView    android:id="@+id/divisionPicker"    android:layout_width="match_parent"    android:layout_height="wrap_content"    app:preferredMaxOffsetItemCount="4"    android:background="#e7e7e7"/>

构建省市区数据源:

参考Divisions.java

设置数据源并监听选择事件

final List<DivisionModel> divisions = Divisions.get(this);divisionPicker.setDivisions(divisions);divisionPicker.setOnSelectedDateChangedListener(division -> textView.setText(Division.Helper.getCanonicalName(division)));

2.3 集成DateTimePickerView

添加到layout文件中:

<top.defaults.view.DateTimePickerView    android:id="@+id/datePickerView"    android:layout_width="match_parent"    android:layout_height="wrap_content"    app:preferredMaxOffsetItemCount="3"    app:textSize="18sp"    app:type="dateTime"    app:minutesInterval="fifteen"    app:curved="true"    android:background="#e7e7e7"/>

设置初始日期:

dateTimePickerView.setStartDate(Calendar.getInstance());// 注意:月份是从0开始计数的dateTimePickerView.setSelectedDate(new GregorianCalendar(2017, 6, 27, 21, 30));

监听选择事件:

dateTimePickerView.setOnSelectedDateChangedListener(new DateTimePickerView.OnSelectedDateChangedListener() {    @Override    public void onSelectedDateChanged(Calendar date) {        int year = date.get(Calendar.YEAR);        int month = date.get(Calendar.MONTH);        int dayOfMonth = date.get(Calendar.DAY_OF_MONTH);        int hour = date.get(Calendar.HOUR_OF_DAY);        int minute = date.get(Calendar.MINUTE);        String dateString = String.format(Locale.getDefault(), "%d年%02d月%02d日%02d时%02d分", year, month + 1, dayOfMonth, hour, minute);        textView.setText(dateString);        Log.d(TAG, "new date: " + dateString);    }});

更详细的使用方法请参见示例。

License

请查看LICENSE文件。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap