最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

WheelPicker自定義時(shí)間選擇器控件

 更新時(shí)間:2021年05月31日 11:01:48   作者:liuye066  
這篇文章主要為大家詳細(xì)介紹了WheelPicker自定義時(shí)間選擇器控件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了WheelPicker自定義時(shí)間選擇器控件的具體代碼,供大家參考,具體內(nèi)容如下

先上圖:

使用android自帶的DatePicker控件雖然也能實(shí)現(xiàn)功能,但樣式不能改變。想要實(shí)現(xiàn)一些 自定義的樣式,就要用到WheelPicker了。

要使用WheelPicker,需要先導(dǎo)入WheelPicker的引用:

1. 在project的build.gradle添加如下代碼

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

2. 在Module的build.gradle添加依賴

compile 'com.github.open-android:WheelPicker:v1.0.0'

3.復(fù)制如下代碼到xml中:

<com.itheima.wheelpicker.WheelPicker
    android:id="@+id/wheel_date_picker_month"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="16dp"
    app:wheel_atmospheric="true"
    app:wheel_curved="true"
    app:wheel_cyclic="true"
    app:wheel_selected_item_position="5"
    app:wheel_item_text_color="@color/text_white"
    app:wheel_selected_item_text_color="@color/orange"/>
  • wheel_atmospheric :  條目顏色是否執(zhí)行銜接處理 效果更好
  • wheel_curved : 是否是弧形狀態(tài)顯示
  • wheel_cyclic : 是否可循環(huán)
  • wheel_selected_item_position : 默認(rèn)選中第幾個(gè)條目

然后使用即可。

頁(yè)面代碼:

package com.example.castedemo.user;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.DatePicker;

import com.example.castedemo.R;

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

import butterknife.BindView;
import butterknife.ButterKnife;

import com.example.castedemo.user.bean.DayBean;
import com.itheima.wheelpicker.WheelPicker;

public class BirthdayActivity extends Activity {
    private static final String TAG = "BirthdayActivity";

    @BindView(R.id.wheel_date_picker_year)
    WheelPicker wheelDatePickerYear;
    @BindView(R.id.wheel_date_picker_month)
    WheelPicker wheelDatePickerMonth;
    @BindView(R.id.wheel_date_picker_day)
    WheelPicker wheelDatePickerDay;
    List<Integer> yearList = new ArrayList<Integer>();
    List<Integer> monthList = new ArrayList<Integer>();
    int[] dayArr = {31,28,31,30,31,30,31,31,30,31,30,31};
    int[] runDayArr = {31,29,31,30,31,30,31,31,30,31,30,31};
    List<DayBean> dayBeans = new ArrayList<DayBean>();
    List<DayBean> runDayBeans = new ArrayList<DayBean>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_birthday);
        ButterKnife.bind(this);
        initWheelDate();
        wheelDatePickerYear.setOnWheelChangeListener(new WheelPicker.OnWheelChangeListener() {
            @Override
            public void onWheelScrolled(int i) {

            }

            @Override
            public void onWheelSelected(int i) {
                updateYearValue(i+1900);
            }

            @Override
            public void onWheelScrollStateChanged(int i) {

            }
        });
        wheelDatePickerMonth.setOnWheelChangeListener(new WheelPicker.OnWheelChangeListener() {
            @Override
            public void onWheelScrolled(int i) {

            }

            @Override
            public void onWheelSelected(int i) {
                int year = wheelDatePickerYear.getCurrentItemPosition()+1900;
                Log.e(TAG,"month i="+i);
                updateDayValue(year,i);
            }

            @Override
            public void onWheelScrollStateChanged(int i) {

            }
        });
    }

    public void initWheelDate() {
        Calendar calendar = Calendar.getInstance();
        Log.e(TAG,"calendar = "+calendar.toString());
        //年
        for(int i=1900;i<2018;i++){
            yearList.add(i);
        }
        wheelDatePickerYear.setData(yearList);
        //月
        for(int i=0;i<12;i++){
            monthList.add(i+1);
        }
        wheelDatePickerMonth.setData(monthList);
        wheelDatePickerYear.setSelectedItemPosition(calendar.get(Calendar.YEAR));
        wheelDatePickerMonth.setSelectedItemPosition(calendar.get(Calendar.MONTH));
        //日
        updateYearValue(wheelDatePickerYear.getCurrentItemPosition()+1900);
        wheelDatePickerDay.setSelectedItemPosition(calendar.get(Calendar.DAY_OF_MONTH)-1);


    }

    /*
    * 根據(jù)年份判斷每月有幾天
    * */
    public void updateYearValue(int year){
        int month = wheelDatePickerMonth.getCurrentItemPosition();
        if(isRunYear(year)){
            for(int i=0;i<12;i++){
                DayBean dayBean = new DayBean();
                dayBean.setMonth(i+1);
                List<Integer> rundayList = new ArrayList<Integer>();
                for(int j=1;j<=runDayArr[i];j++){
                    rundayList.add(j);
                    dayBean.setDay(rundayList);
                }
                runDayBeans.add(dayBean);
//                Log.e(TAG,"rundaybeans="+runDayBeans.get(i).getMonth()+",days="+runDayBeans.get(i).getDay().toArray());
                if(month ==i){
                    wheelDatePickerDay.setData(runDayBeans.get(month).getDay());
                }
            }
        }else{
            for(int i=0;i<12;i++){
                DayBean dayBean = new DayBean();
                dayBean.setMonth(i+1);
                List<Integer> dayList = new ArrayList<Integer>();
                for(int j=1;j<=dayArr[i];j++){
                    dayList.add(j);
                    dayBean.setDay(dayList);
                }
                dayBeans.add(dayBean);
//                Log.e(TAG,"daybeans="+dayBeans.get(i).getMonth()+",day="+dayBeans.get(i).getDay());
                if(month ==i){
                    wheelDatePickerDay.setData(dayBeans.get(month).getDay());
                }
            }
        }
    }

    /*
    * 根據(jù)年份和月份判斷該月有幾天
    * */
    public void updateDayValue(int year,int month){
        if(isRunYear(year)){
            for(int i=0;i<runDayBeans.size();i++){
                if(month == i){
                    wheelDatePickerDay.setData(runDayBeans.get(i).getDay());
                }
            }
        }else{
            for(int i=0;i<dayBeans.size();i++){
                if(month == i){
                    wheelDatePickerDay.setData(dayBeans.get(i).getDay());
                }
            }
        }
    }

    public boolean isRunYear(int year){
        if(year%4==0 && year%100 !=0 ||year%400 ==0){
            System.out.println(year +"是閏年");
            return true;
        } else{
            System.out.println(year +"不是閏年!");
            return false;
        }
    }
}

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.castedemo.user.BirthdayActivity">
    <TextView
        android:text="填寫(xiě)生日"
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="48dp" />
    <View
        android:layout_above="@+id/ll_birth"
        android:layout_marginBottom="20dp"
        android:background="@color/text_gray"
        android:layout_width="match_parent"
        android:layout_height="0.3dp"/>
    <LinearLayout
        android:id="@+id/ll_birth"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <com.itheima.wheelpicker.WheelPicker
            android:id="@+id/wheel_date_picker_year"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:wheel_atmospheric="true"
            app:wheel_curved="true"
            app:wheel_cyclic="true"
            app:wheel_selected_item_position="5"
            app:wheel_item_text_color="@color/text_white"
            app:wheel_selected_item_text_color="@color/orange"/>
        <TextView
            android:text="年"
            android:layout_marginLeft="6dp"
            android:layout_gravity="center_vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <com.itheima.wheelpicker.WheelPicker
            android:id="@+id/wheel_date_picker_month"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="16dp"
            app:wheel_atmospheric="true"
            app:wheel_curved="true"
            app:wheel_cyclic="true"
            app:wheel_selected_item_position="5"
            app:wheel_item_text_color="@color/text_white"
            app:wheel_selected_item_text_color="@color/orange"/>
        <TextView
            android:text="月"
            android:layout_marginLeft="6dp"
            android:layout_gravity="center_vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <com.itheima.wheelpicker.WheelPicker
            android:id="@+id/wheel_date_picker_day"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:wheel_atmospheric="true"
            android:layout_marginLeft="16dp"
            app:wheel_curved="true"
            app:wheel_cyclic="true"
            app:wheel_selected_item_position="5"
            app:wheel_item_text_color="@color/text_white"
            app:wheel_selected_item_text_color="@color/orange"/>
        <TextView
            android:text="日"
            android:layout_marginLeft="6dp"
            android:layout_gravity="center_vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
    <View
        android:id="@+id/view_bottom"
        android:layout_below="@+id/ll_birth"
        android:layout_marginTop="20dp"
        android:background="@color/text_gray"
        android:layout_width="match_parent"
        android:layout_height="0.3dp"/>

    <LinearLayout
        android:layout_marginTop="30dp"
        android:layout_below="@+id/view_bottom"
        android:gravity="center_horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <Button
            android:id="@+id/btn_cancel"
            android:textColor="@color/text_white"
            android:background="@drawable/border_trans_style"
            android:text="取消"
            android:padding="5dp"
            android:layout_width="60dp"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/btn_save"
            android:background="@drawable/border_trans_style"
            android:textColor="@color/text_white"
            android:text="保存"
            android:padding="5dp"
            android:layout_marginLeft="20dp"
            android:layout_width="60dp"
            android:layout_height="wrap_content" />
    </LinearLayout>
 

</RelativeLayout>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

株洲县| 肇庆市| 株洲市| 仙居县| 珠海市| 景宁| 南丹县| 那坡县| 翁源县| 新闻| 体育| 称多县| 甘谷县| 高尔夫| 交口县| 桐梓县| 化州市| 怀来县| 高台县| 陆丰市| 安义县| 额敏县| 漳州市| 秀山| 延津县| 富源县| 通许县| 扶余县| 荔浦县| 通渭县| 乐平市| 潼南县| 额济纳旗| 仁寿县| 隆化县| 柳河县| 舞阳县| 金堂县| 南京市| 永丰县| 新泰市|