Android使用wheelView实现简单类似ios PickerView选择器效果

在项目中导入wheelView文件

布局文件:wheel_view.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">
    <com.example.secretwang.myapplication.WheelView
        android:id="@+id/wheel_view_wv"
        android:layout_width="150dp"
        android:layout_height="200dp" />
    <com.example.secretwang.myapplication.WheelView
        android:id="@+id/wheel_view_wv2"
        android:layout_width="150dp"
        android:layout_height="200dp" />
</LinearLayout>
在activity中调用

private static final String TAG = MainActivity.class.getSimpleName();
private static final String[] shoushu = new String[]{"1手", "2手", "3手", "4手",
       "5手","6手","7手","8手","9手","10手","11手","12手","13手","14手","15手","16手","17手","18手","19手","20手" };
private  static  final  String[] xiangmu = new String[] {"美原油","恒生指数"};
private WheelView wv;
private WheelView wv2;
private  int number;
private  int category;
//    跳转设置界面
       setBtn.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               View outerView = LayoutInflater.from(MainActivity.this).inflate(R.layout.wheel_view, null);
               wv = (WheelView) outerView.findViewById(R.id.wheel_view_wv);
               wv.setOffset(2);
               wv.setItems(Arrays.asList(shoushu));
//     保存上次选择的手数
               wv.setSeletion(number);
               wv.setOnWheelViewListener(new WheelView.OnWheelViewListener() {
                   @Override
                   public void onSelected(int selectedIndex, String item) {
                       Log.d(TAG, "[Dialog]selectedIndex: " + selectedIndex + ", item: " + item);
                       shouTxt.setText(item);
                       number=selectedIndex-2;
                   }
               });
               wv2 = (WheelView) outerView.findViewById(R.id.wheel_view_wv2);
               wv2.setOffset(2);
               wv2.setItems(Arrays.asList(xiangmu));
               wv2.setSeletion(category);
               wv2.setOnWheelViewListener(new WheelView.OnWheelViewListener() {
                   @Override
                   public void onSelected(int selectedIndex, String item1) {
                       Log.d(TAG, "[Dialog]selectedIndex: " + selectedIndex + ", item: " + item1);
                       nametextView.setText(item1);
                       category=selectedIndex-2;
                   }
               });
               new AlertDialog.Builder(MainActivity.this)
                       .setTitle("设置您委托的产品类型和手数")
                       .setView(outerView)
                       .setPositiveButton("确定", null)
                       .show();
           }
       });
效果图:


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值