package com.xjf.repository.view; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.LinearLayout; import com.xjf.repository.R; import java.util.ArrayList; /** * ================================================================ * User:xijiufu * Email:xjfsml@163.com * Version:1.0 * Time:2016/11/7--22:36 * Function: 小时 分钟 时间 选择器 * ModifyHistory: * ================================================================ */ public class TimePickerView extends LinearLayout { WheelView mTimePickerStartHour; WheelView mTimePickerStartMinutes; WheelView mTimePickerEndHour; WheelView mTimePickerEndMinutes; public TimePickerView(Context context) { super(context); } public TimePickerView(Context context, AttributeSet attrs) { super(context, attrs); } /** * 当View中所有的子控件均被映射成xml后触发 */ @Override protected void onFinishInflate() { super.onFinishInflate(); View view = LayoutInflater.from(getContext()).inflate(R.layout.layout_time_picker, this); mTimePickerStartHour = (WheelView) view.findViewById(R.id.mTimePickerStartHour); mTimePickerStartMinutes = (WheelView) view.findViewById(R.id.mTimePickerStartMinutes); mTimePickerEndHour = (WheelView) view.findViewById(R.id.mTimePickerEndHour); mTimePickerEndMinutes = (WheelView) view.findViewById(R.id.mTimePickerEndMinutes); mTimePickerStartHour.setData(getHourData()); mTimePickerStartHour.setOnSelectListener(new WheelView.OnSelectListener() { @Override public void endSelect(int id, String text) { } @Override public void selecting(int id, String text) { MToast.showToast("选中的:" + text); } }); mTimePickerStartMinutes.setData(getMinutesData()); mTimePickerEndHour.setData(getHourData()); mTimePickerEndMinutes.setData(getMinutesData()); } private ArrayList<String> getHourData() { ArrayList<String> list = new ArrayList<>(); for (int i = 0; i < 24; i++) { list.add(filterNum(i)); } return list; } private ArrayList<String> getMinutesData() { ArrayList<String> list = new ArrayList<>(); for (int i = 0; i < 60; i++) { list.add(filterNum(i)); } return list; } private String filterNum(int num) { if (num < 10) { return "0" + num; } return String.valueOf(num); } /*** * 返回起始小时 * * @return */ public String getStartHour() { if (mTimePickerStartHour == null) { return null; } return mTimePickerStartHour.getSelectedText(); } /** * 设置起始默认小时 * * @param index */ public void setDefaultStartHour(int index) { if (mTimePickerStartHour == null) { return; } mTimePickerStartHour.setDefault(index); } /** * 返回起始分钟 * * @return */ public String getStartMinutes() { if (mTimePickerStartMinutes == null) { return null; } return mTimePickerStartMinutes.getSelectedText(); } /** * 设置起始默认分钟 * * @param index */ public void setDefaultStartMinutes(int index) { if (mTimePickerStartMinutes == null) { return; } mTimePickerStartMinutes.setDefault(index); } /*** * 返回结束小时 * * @return */ public String getEndHour() { if (mTimePickerEndHour == null) { return null; } return mTimePickerEndHour.getSelectedText(); } /** * 设置结束默认小时 * * @param index */ public void setDefaultEndHour(int index) { if (mTimePickerEndHour == null) { return; } mTimePickerEndHour.setDefault(index); } /** * 返回结束分钟 * * @return */ public String getEndMinutes() { if (mTimePickerEndMinutes == null) { return null; } return mTimePickerEndMinutes.getSelectedText(); } /** * 设置结束默认分钟 * * @param index */ public void setDefaultEndMinutes(int index) { if (mTimePickerEndHour == null) { return; } mTimePickerEndHour.setDefault(index); } } //===========================================================================// // // // _ooOoo_ // // o8888888o // // 88" . "88 // // (| -_- |) // // O\ = /O // // ____/`---'\____ // // . ' \\| |// `. // // / \\||| : |||// \ // // / _||||| -:- |||||- \ // // | | \\\ - /// | | // // | \_| ''\---/'' | | // // \ .-\__ `-` ___/-. / // // ___`. .' /--.--\ `. . __ // // ."" '< `.___\_<|>_/___.' >'"". // // | | : `- \`.;`\ _ /`;.`/ - ` : | | // // \ \ `-. \_ __\ /__ _/ .-` / / // // ======`-.____`-.___\_____/___.-`____.-'====== // // `=---=' // // // // ............................................. // // 佛祖镇楼 BUG辟易 // // 佛曰: // // 写字楼里写字间,写字间里程序员; // // 程序人员写程序,又拿程序换酒钱。 // // 酒醒只在网上坐,酒醉还来网下眠; // // 酒醉酒醒日复日,网上网下年复年。 // // 但愿老死电脑间,不愿鞠躬老板前; // // 奔驰宝马贵者趣,公交自行程序员。 // // 别人笑我忒疯癫,我笑自己命太贱; // // 不见满街漂亮妹,哪个归得程序员? // //===========================================================================//