失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Android开源项目WheelView使用示例

Android开源项目WheelView使用示例

时间:2021-10-22 01:18:02

相关推荐

Android开源项目WheelView使用示例

看了这篇博客,讲的很好很详细!分享一下!!

/ywl5320/article/details/44730457

.5.3补充:

前言

Github上边现在有好多WheelView相关的开源项目,以star数最多的AndroidPicker为例,说明一下级联选择。

项目地址:/gzu-liyujiang/AndroidPicker

AndroidPicker里边也是写的有级联选择的—LinkagePicker。

下面说一下,自己在xml中实现一个二级级联的例子,我们可以直接将library里边的核心WheelView拷贝到项目中即可!

简单级联使用

因为要二级级联选择,首先肯定的是我们需要两个WheelView,看一下布局:

<LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><com.xxx.views.WheelViewandroid:id="@+id/wheel_line"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:padding="@dimen/widget_padding" /><com.xxx.views.WheelViewandroid:id="@+id/wheel_section"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:padding="@dimen/widget_padding" /></LinearLayout>

然后在代码中也很简单:

//初始化数据ArrayList<String> lineList = new ArrayList<>();HashMap<String, ArrayList<String>> map = new HashMap<>();lineList .add("A");lineList .add("B")for(String section : lineList ){ArrayList<String> sectionList= new ArrayList<>();sectionList.add("01");sectionList.add("02");map.put(section,sectionList);}//设置数据WheelView wheelView_line = (WheelView) view.findViewById(R.id.wheel_line);WheelView wheelView_section = (WheelView) view.findViewById(R.id.wheel_section);WheelView.LineConfig config = new WheelView.LineConfig();config.setColor(Color.BLUE);//设置分割线颜色wheelView_line.setLineConfig(config);wheelView_line.setTextColor(Color.BLUE);//设置选中字体颜色wheelView_section.setLineConfig(config);wheelView_section.setTextColor(Color.BLUE);wheelView_line.setItems(lineList);//设置第一个WheelViewif (!TextUtils.isEmpty(xxxx)) {//如果有值,则初始化选中,这里随便给一值wheelView_line.setSelectedItem(line);wheelView_section.setItems(map.get(line));wheelView_section.setSelectedItem(section);} else{//如果没有,则第二个默认选中第一项wheelView_section.setItems(map.get(lineList.get(0)));}wheelView_line.setOnWheelListener(new WheelView.OnWheelListener() {@Overridepublic void onSelected(boolean isUserScroll, int index, String item) {//这里一定要加上判断,如果不是用户滑动的情况,则直接return//因为这个方法在初始化setSelectItem的时候,也会回调,造成默认选中0;if (!isUserScroll) {return;}wheelView_section.setItems(map.get(item));}});//最后可以得到两个WheelView选择的值String content = wheelView_line.getSelectedItem() + wheelView_section.getSelectedItem();

如果觉得《Android开源项目WheelView使用示例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。