PickerView和AutoSize

一、PickerView

1、PickerView是什么

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

2、使用方式

1)WheelView的使用

依赖
implementation 'com.contrarywind:Android-PickerView:4.1.8'//PickerView
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="match_parent"
    android:id="@+id/wheel"></com.contrarywind.view.WheelView>
</LinearLayout>
java代码
package com.example.zg3_day011;

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 WheelView wheel;
    private ArrayWheelAdapter wheelAdapter;


    @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("Simon", "onItemSelected: "+index);
            }
        });


        List<String> list = new ArrayList<>();
        list.add("我的中国心");
        list.add("北国之春");
        list.add("鹿港小镇");
        wheelAdapter = new ArrayWheelAdapter(list);
        wheel.setAdapter(wheelAdapter);

    }

    private void initView() {
        wheel = (WheelView) findViewById(R.id.wheel);
    }
}
效果图

在这里插入图片描述

2)联级选择器

代码
package com.example.zg3_day011;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.bigkoo.pickerview.adapter.ArrayWheelAdapter;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.listener.OnOptionsSelectChangeListener;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.bigkoo.pickerview.view.TimePickerView;
import com.contrarywind.listener.OnItemSelectedListener;
import com.contrarywind.view.WheelView;

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

public class MainActivity extends AppCompatActivity {

    private WheelView wheel;
    private ArrayWheelAdapter wheelAdapter;


    @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("Simon", "onItemSelected: "+index);
            }
        });


//        List<String> list = new ArrayList<>();
//        list.add("我的中国心");
//        list.add("北国之春");
//        list.add("鹿港小镇");
//        wheelAdapter = new ArrayWheelAdapter(list);
//        wheel.setAdapter(wheelAdapter);

//联级选择器
       final List<String> options1Items  = new ArrayList<>();
        options1Items .add("魔道祖师");
        options1Items .add("人渣反派自救系统");
        options1Items .add("天官赐福");

        List<String> options2_01 = new ArrayList<>();
        options2_01.add("蓝忘机");
        options2_01.add("魏无羡");
        options2_01.add("温宁");
        options2_01.add("江厌离");
        options2_01.add("薛洋");
        options2_01.add("晓星尘");

        List<String> options2_02 = new ArrayList<>();
        options2_02.add("沈清秋");
        options2_02.add("洛冰河");
        options2_02.add("柳清歌");
        options2_02.add("岳清源");
        options2_02.add("沈九");
        options2_02.add("尚清华");

        List<String> options2_03 = new ArrayList<>();
        options2_03.add("谢怜");
        options2_03.add("花城");
        options2_03.add("师青玄");
        options2_03.add("戚容");
        options2_03.add("师无渡");
        options2_03.add("慕情");

       final List<List<String>> options2Items  = new ArrayList<>();
        options2Items .add(options2_01);
        options2Items .add(options2_02);
        options2Items .add(options2_03);

        OptionsPickerView optionsPickerView = new OptionsPickerBuilder(this, new OnOptionsSelectListener() {
            @Override
            public void onOptionsSelect(int options1, int options2, int options3, View v) {
                String tx = options1Items .get(options1)
                        + options2Items .get(options1).get(options2);
                Toast.makeText(getBaseContext(), tx, Toast.LENGTH_SHORT).show();
            }
        })
                .setOptionsSelectChangeListener(new OnOptionsSelectChangeListener() {
                    @Override
                    public void onOptionsSelectChanged(int options1, int options2, int options3) {
                        String str = "options1: " + options1 + "\noptions2: " + options2 + "\noptions3: " + options3;
                        Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();
                    }
                })
                .build();

        optionsPickerView.setPicker(options1Items , options2Items );
        optionsPickerView.show();
//时间选择器



//        TimePickerView pvTime = new TimePickerBuilder(MainActivity.this, new OnTimeSelectListener() {
//            @Override
//            public void onTimeSelect(Date date, View v) {
//                Toast.makeText(MainActivity.this, date.toString(), Toast.LENGTH_SHORT).show();
//            }
//        }).build();
//        pvTime.show();//显示时间选择器


    }

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

效果图

在这里插入图片描述

3)时间选择器

代码
package com.example.zg3_day011;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.bigkoo.pickerview.adapter.ArrayWheelAdapter;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.listener.OnOptionsSelectChangeListener;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.bigkoo.pickerview.view.TimePickerView;
import com.contrarywind.listener.OnItemSelectedListener;
import com.contrarywind.view.WheelView;

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

public class MainActivity extends AppCompatActivity {

    private WheelView wheel;
    private ArrayWheelAdapter wheelAdapter;


    @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("Simon", "onItemSelected: "+index);
            }
        });


//        List<String> list = new ArrayList<>();
//        list.add("我的中国心");
//        list.add("北国之春");
//        list.add("鹿港小镇");
//        wheelAdapter = new ArrayWheelAdapter(list);
//        wheel.setAdapter(wheelAdapter);

//       final List<String> options1Items  = new ArrayList<>();
//        options1Items .add("魔道祖师");
//        options1Items .add("人渣反派自救系统");
//        options1Items .add("天官赐福");
//
//        List<String> options2_01 = new ArrayList<>();
//        options2_01.add("蓝忘机");
//        options2_01.add("魏无羡");
//        options2_01.add("温宁");
//        options2_01.add("江厌离");
//        options2_01.add("薛洋");
//        options2_01.add("晓星尘");
//
//        List<String> options2_02 = new ArrayList<>();
//        options2_02.add("沈清秋");
//        options2_02.add("洛冰河");
//        options2_02.add("柳清歌");
//        options2_02.add("岳清源");
//        options2_02.add("沈九");
//        options2_02.add("尚清华");
//
//        List<String> options2_03 = new ArrayList<>();
//        options2_03.add("谢怜");
//        options2_03.add("花城");
//        options2_03.add("师青玄");
//        options2_03.add("戚容");
//        options2_03.add("师无渡");
//        options2_03.add("慕情");
//
//       final List<List<String>> options2Items  = new ArrayList<>();
//        options2Items .add(options2_01);
//        options2Items .add(options2_02);
//        options2Items .add(options2_03);
//
//        OptionsPickerView optionsPickerView = new OptionsPickerBuilder(this, new OnOptionsSelectListener() {
//            @Override
//            public void onOptionsSelect(int options1, int options2, int options3, View v) {
//                String tx = options1Items .get(options1)
//                        + options2Items .get(options1).get(options2);
//                Toast.makeText(getBaseContext(), tx, Toast.LENGTH_SHORT).show();
//            }
//        })
//                .setOptionsSelectChangeListener(new OnOptionsSelectChangeListener() {
//                    @Override
//                    public void onOptionsSelectChanged(int options1, int options2, int options3) {
//                        String str = "options1: " + options1 + "\noptions2: " + options2 + "\noptions3: " + options3;
//                        Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();
//                    }
//                })
//                .build();
//
//        optionsPickerView.setPicker(options1Items , options2Items );
//        optionsPickerView.show();
//时间选择器



        TimePickerView pvTime = new TimePickerBuilder(MainActivity.this, new OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
                Toast.makeText(MainActivity.this, date.toString(), Toast.LENGTH_SHORT).show();
            }
        }).build();
        pvTime.show();//显示时间选择器


    }

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

效果图

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: h5pickerview是一个基于H5技术的选择器组件。它可以在移动端的网页中使用,实现选择日期、时间、省市区等功能。 h5pickerview的特点有以下几个方面: 1. 轻量级:h5pickerview是一个轻量级的插件,它的体积小,加载速度快,不会占用太多的资源。 2. 灵活可定制:h5pickerview提供了丰富的配置项,可以根据需求自定义选择器的样式和行为。可以选择日期范围、设定初始值等。 3. 跨平台兼容:由于基于H5技术开发,h5pickerview可以兼容多个平台,无论是iOS、Android还是其他系统,都能够正常运行。 4. 使用简单:h5pickerview的使用非常简单,只需要在页面中引入相关的样式文件和脚本文件,然后在需要的地方添加相应的HTML标签即可。 5. 功能丰富:h5pickerview支持选择日期、时间、省市区等功能,用户可以方便地进行选择操作,满足不同场景下的需求。 总结来说,h5pickerview是一个方便实用的选择器组件,它能够帮助开发者快速实现选择日期、时间等功能,在移动端网页中提供更好的用户体验。无论是在线预约、订单提交还是其他需要选择操作的场景,h5pickerview都能够发挥重要作用。 ### 回答2: h5pickerview 是一种基于H5开发的日期和时间选择器。这个选择器可以在移动设备的浏览器中使用,通过H5代码进行调用和使用。 h5pickerview 可以通过HTML5的input标签的type属性来实现,比如可以使用type="date"实现日期的选择,使用type="time"实现时间的选择。此外,还可以通过JavaScript进行更加定制化的使用。 h5pickerview 具有简单易用的特点,开发者可以根据自己的需求来配置和使用。通过简单的HTML代码和JavaScript代码,可以轻松地调用和集成到页面中。 h5pickerview 支持多种配置选项,比如可以设置日期的起始和结束范围,可以设置日期和时间的格式等等。这样,可以根据具体的需求来自定义选择器的外观和行为。 总的来说,h5pickerview 是一种方便快捷的日期和时间选择器,通过H5开发可以在移动设备的浏览器中使用。它具有简单易用、灵活可配置等优点,能够满足开发者的各种需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值