PickerView

PickerView是什么

仿iOS的PickerView控件,带有3D圆弧效果,并封装了时间选择和选项选择这两种选择器。

WheelView —— 基础控件
带有3D圆弧效果。
支持文字、颜色、大小设置。
支持背景颜色设置。
支持item的分隔线设置。
支持item间距设置。
支持设置是否循环。

WheelView的使用

1、依赖

  implementation 'com.contrarywind:Android-PickerView:4.1.9'//wheelview

2、xml中的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.contrarywind.view.WheelView
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:id="@+id/wheel"></com.contrarywind.view.WheelView>



</LinearLayout>

3、Activity中的代码

package com.example.day11_wheelview;

import android.os.Bundle;
import android.util.Log;

import androidx.appcompat.app.AppCompatActivity;

import com.bigkoo.pickerview.adapter.ArrayWheelAdapter;
import com.contrarywind.listener.OnItemSelectedListener;
import com.contrarywind.view.WheelView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity";

    private WheelView wheel;
    private ArrayWheelAdapter<String> adapter;
    private List<String> list;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();

        wheel.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(int index) {
                Log.i(TAG, "onItemSelected: "+list.get(index));
            }
        });

        list = new ArrayList<>();
        list.add("北国风光");
        list.add("万里雪飘");
        list.add("千鹤");

        adapter = new ArrayWheelAdapter<>(list);
        wheel.setAdapter(adapter);
    }

    private void initView() {
        wheel = findViewById(R.id.wheel);
    }
}

效果图
在这里插入图片描述
OptionsPickerView —— 选项选择器
支持一、二、三级联动数据。
支持一、二、三级不联动数据。
支持自定义布局。
支持自定义标题栏。
支持“省,市,区”等选项的单位(label)显示、隐藏和自定义。
支持dialog 模式显示。
支持自定义设置容器。
支持实时回调监听。
联动数据支持切换Item时,还原为第一项。

OptionsPickerView的使用

activity中的代码

      final List<String> option1_item=new ArrayList<>();
        option1_item.add("射雕英雄传");
        option1_item.add("神雕侠侣");

        List<String> option2_01=new ArrayList<>();
        option2_01.add("郭靖");
        option2_01.add("黄蓉");
        option2_01.add("杨铁心");

        List<String> option2_02=new ArrayList<>();
        option2_02.add("小龙女");
        option2_02.add("杨过");
        option2_02.add("大雕");

        final List<List<String>> option2_item=new ArrayList<>();
        option2_item.add(option2_01);
        option2_item.add(option2_02);


        OptionsPickerView<String> pickerView = new OptionsPickerBuilder(this, new OnOptionsSelectListener() {
            @Override
            public void onOptionsSelect(int options1, int options2, int options3, View v) {
                String tx = option1_item.get(options1) + option2_item.get(options1).get(options2);
                Toast.makeText(MainActivity.this, "" + tx, Toast.LENGTH_SHORT).show();
            }
        }).build();

        pickerView.setPicker(option1_item,option2_item);

        pickerView.show();

效果图
在这里插入图片描述

TimePickerView —— 时间选择器
支持选择年、月、日的范围。
支持年月日时分秒显示。
支持设置当前默认时间。
支持自定义布局。
支持自定义标题栏。
支持“年,月,日,时,分,秒”等选项的单位(label)显示、隐藏和自定义。
支持dialog 模式显示。
支持自定义设置容器。
支持实时回调监听。

TimePickerView 的使用

activity中的代码

        final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        new TimePickerBuilder(this, new OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
                String format = simpleDateFormat.format(date);
                Toast.makeText(MainActivity.this, ""+format, Toast.LENGTH_SHORT).show();
            }
        }).build().show();

效果图
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值