Android 自定義時間選擇器

2021-07-03 16:01:06 字數 2891 閱讀 5304

效果同樣是來自網上大神的demo,跟著大神的腳步,總有一天我們也會成為大神。先看效果:

效果自認為一般,但是讓我自己寫,肯定是需要很久。

關鍵點:

ok,簡單看下**

一、datetimepickdialogutil類就是我們自定義的時間控制項,用dialog的形式展示

common_datetime布局檔案很簡單

<?xml version="1.0" encoding="utf-8"?>

xmlns:android=""

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:id="@+id/datepicker"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:calendarviewshown="false" />

android:id="@+id/timepicker"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

linearlayout>

然後通過datetimepickdialog()方法就建立出了我們顯示的alterdialog

/**

* 彈出日期時間選擇框方法

**@param inputdate

* :為需要設定的日期時間文字編輯框

*@return

*/public alertdialog datetimepickdialog(final edittext inputdate)

}).setnegativebutton("取消", new dialoginte***ce.onclicklistener()

}).show();

ondatechanged(null, 0, 0, 0);

return ad;

}

其中 init(datepicker, timepicker)方法就是初始化兩個控制項

/**

* 初始化日期時間選擇器

* @param datepicker

* @param timepicker

*/public void init(datepicker datepicker, timepicker timepicker) else

datepicker.init(calendar.get(calendar.year),

calendar.get(calendar.month),

calendar.get(calendar.day_of_month), this);

timepicker.setcurrenthour(calendar.get(calendar.hour_of_day));

timepicker.setcurrentminute(calendar.get(calendar.minute));

}

這裡呼叫了calendar = this.getcalendarbyinintdata(initdatetime);

/**

* 實現將初始日期時間2023年07月02日 16:45 拆分成年 月 日 時 分 秒,並賦值給calendar

** @param initdatetime

* 初始日期時間值 字串型

* @return calendar

*/private calendar getcalendarbyinintdata(string initdatetime)

這個擷取字串的方法還是挺有意思

/**

* 擷取子串

**@param srcstr

* 源串

*@param pattern

* 匹配模式

*@param indexorlast

*@param frontorback

*@return

*/public

static string splitestring(string srcstr, string pattern,

string indexorlast, string frontorback) else

if (frontorback.equalsignorecase("front")) else

return result;

}

二、可以看到datetimepickdialog(edittext inputtype)接受的是乙個edittext物件

mainactivity很簡單

public

class

mainactivity

extends

activity

});enddatetime.setonclicklistener(new view.onclicklistener()

});}

}

ps:可能有同學在虛機上執行會出現英文樣式,年月日時間順序不是如上展示的樣式,修改下手機的語言為中文就可以了。

拿的大神的demo,也沒有什麼好講的!想執行起來看看的,就自己親手試試吧

Android 自定義時間選擇器

calendar currentsystemdate calendar.getinstance 系統當前時間 calendar startdate calendar.getinstance 控制項起始時間 注 1 年份可以隨便設定 2 月份是從0開始的 0代表1月 11月代表12月 即設定0代表起始...

jQuery自定義選擇器

1.自定義選擇器 自定義選擇器不能使用速度最快的原生態選擇器了。因此盡量不要使用。1 even 結果集中其索引為偶數的元素 0,2,4.2 odd 結果集中其索引為奇數的元素 1,3,5.注意 經常使用 tr odd 或者 tr nth child 實現table隔行,但是當頁面中含有不只乙個tab...

UIPickerView自定義選擇器控制項

inte ce 協議 property strong,nonatomic uiwindow window property strong,nonatomic nsarray strings property strong,nonatomic nsarray strings1 property str...