Android WheelView(滑轮组件)使用
16lz
2021-01-23
android前段组件中, 填表单,选择条目 的样式有很多, WheelView滚动组件为其中一种,如下图所示:
前两种大家很多都用过, 不过我修改了一下,弄出第三种,希望能帮助到大家:
代码如下:
EditTextcategory=(EditText)findViewById(R.id.editCategory);category.setOnClickListener(listener);privateOnClickListenerlistener=newOnClickListener(){@OverridepublicvoidonClick(Viewv){//创建会话框finalAlertDialogdialog=newAlertDialog.Builder(Set_accountActivity.this).create();dialog.setTitle("消费类别:");//创建布局finalLinearLayoutll=newLinearLayout(Set_accountActivity.this);}//设置布局方式:水平ll.setOrientation(LinearLayout.HORIZONTAL);finalWheelViewcategory1=newWheelView(Set_accountActivity.this);category1.setVisibleItems(5);category1.setCyclic(true);category1.setAdapter(newArrayWheelAdapter<String>(category_str1));finalWheelViewcategory2=newWheelView(Set_accountActivity.this);category2.setVisibleItems(5);category2.setCyclic(true);category2.setAdapter(newArrayWheelAdapter<String>(category_str2[0]));//创建参数LinearLayout.LayoutParamslp1=newLinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);lp1.gravity=Gravity.LEFT;//lp1.weight=(float)0.6;LinearLayout.LayoutParamslp2=newLinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);lp2.weight=(float)0.6;lp2.gravity=Gravity.RIGHT;lp2.leftMargin=10;ll.addView(category1,lp1);ll.addView(category2,lp2);//为category1添加监听category1.addChangingListener(newOnWheelChangedListener(){publicvoidonChanged(WheelViewwheel,intoldValue,intnewValue){category2.setAdapter(newArrayWheelAdapter<String>(category_str2[newValue]));category2.setCurrentItem(category_str2[newValue].length/2);}});//为会话创建确定按钮dialog.setButton("确定",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){Stringcat1=category_str1[category1.getCurrentItem()];Stringcat2=category_str2[category1.getCurrentItem()][category2.getCurrentItem()];category.setText(cat1+">>"+cat2);dialog.dismiss();}});dialog.setButton2("取消",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){dialog.dismiss();}});dialog.setView(ll);dialog.show();}};}
publicStringcategory_str1[]=newString[]{"餐饮","交通","购物","娱乐","医疗","教育","居家","投资","人情"};publicStringcategory_str2[][]=newString[][]{newString[]{"早餐","午餐","晚餐","夜宵","饮料水果","零食","蔬菜原料","油盐酱醋","其他.."},newString[]{"地铁","公交","打的","加油","停车","过路过桥","罚款","包维修","火车","车款车贷","车险","航空","船舶","自行车","其他.."},newString[]{"服装鞋帽","日用百货","婴幼用品","数码产品","化妆护肤","首饰","烟酒","电器","家具","书籍","玩具","摄影文印","其他.."},newString[]{"看电影","KTV","网游电玩","运动健身","洗浴足浴","茶酒咖啡","旅游度假","演出","其他.."},newString[]{"求医","买药","体检","化验","医疗器材","其他.."},newString[]{"培训","考试","书籍","学杂费","家教","补习","助学贷款","其他.."},newString[]{"美容美发","手机电话","宽带","房贷","水电燃气","物业","住宿租房","保险费","贷款","材料建材","家政服务","快递邮政","漏记款","其他.."},newString[]{"证券期货","保险","外汇","出资","黄金实物","书画艺术","投资贷款","利息支出","其他.."},newString[]{"礼金","物品","慈善捐款","代付款","其他.."},};另外, 还需要WheelView的类, 这个可以在网上(csdn)去下载, 然后添加到自己工程里面就可以了
更多相关文章
- Android中有用的组件被选中和按下去的变换样式
- Android常用布局组件----重新认识Android(3)
- Android 四大组件(Activity、Service、BroadCastReceiver、Conte
- android四大基础组件--Service生命周期详解
- 朝花夕拾----新组件的学习和使用
- 类似HTML map标签功能的Android组件
- android中菜单以及自定义组件的使用
- Android的Activity获取fragment和fragment的组件