android年月選擇
Ⅰ android studio 怎麼創建多個日期選擇器
1、創建xml頁面(我的項目扣下來的,有的地方會報錯要改)
java"><TextView
android:id="@+id/consultation_tv_birthdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/consultation_tv_sex"
android:layout_alignStart="@+id/consultation_tv_sex"
android:layout_alignTop="@+id/consultation_et_birthdate"
android:layout_marginTop="9dp"
android:text="出生日期:"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"/>
<EditText
android:id="@+id/consultation_et_birthdate"
android:layout_width="260dp"
android:layout_height="40dp"
android:layout_alignLeft="@+id/consultation_et_sex"
android:layout_alignStart="@+id/consultation_et_sex"
android:layout_below="@+id/consultation_et_sex"
android:layout_marginTop="22dp"
android:background="@drawable/input_bg"
android:focusable="false"
android:ems="10"
android:inputType="textPersonName"
android:paddingLeft="15dp"
android:paddingRight="15dp"/>
<ImageView
android:id="@+id/consultation_iv_birthdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/consultation_et_id_card"
android:layout_alignEnd="@+id/consultation_et_birthdate"
android:layout_alignRight="@+id/consultation_et_birthdate"
android:layout_marginBottom="5dp"
android:layout_marginRight="10dp"
app:srcCompat="@android:drawable/ic_menu_today"/>
2、創建參數
詳細
Ⅱ android有月份選擇器嗎或者怎麼讓日期選擇器的日期不顯示,只顯示年份和月份
不顯示日期 ? 那有什麼意義?
去安智或別的安卓市場下個多功能的時間APP試試吧
Ⅲ android 怎麼比較日期選擇器的選擇的時間和系統當前的時間
package com.wwj.datetimepicker;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
/**
* 日期時間選擇控制項 使用方法: private EditText inputDate;//需要設置的日期時間文本編輯框 private String
* initDateTime="2012年9月3日 14:44",//初始日期時間值 在點擊事件中使用:
* inputDate.setOnClickListener(new OnClickListener() {
*
* @Override public void onClick(View v) { DateTimePickDialogUtil
* dateTimePicKDialog=new
* DateTimePickDialogUtil(SinvestigateActivity.this,initDateTime);
* dateTimePicKDialog.dateTimePicKDialog(inputDate);
*
* } });
*
* @author
*/
public class DateTimePickDialogUtil implements OnDateChangedListener,
OnTimeChangedListener {
private DatePicker datePicker;
private TimePicker timePicker;
private AlertDialog ad;
private String dateTime;
private String initDateTime;
private Activity activity;
/**
* 日期時間彈出選擇框構造函數
*
* @param activity
* :調用的父activity
* @param initDateTime
* 初始日期時間值,作為彈出窗口的標題和日期時間初始值
*/
public DateTimePickDialogUtil(Activity activity, String initDateTime) {
this.activity = activity;
this.initDateTime = initDateTime;
}
public void init(DatePicker datePicker, TimePicker timePicker) {
Calendar calendar = Calendar.getInstance();
if (!(null == initDateTime || "".equals(initDateTime))) {
calendar = this.getCalendarByInintData(initDateTime);
} else {
initDateTime = calendar.get(Calendar.YEAR) + "年"
+ calendar.get(Calendar.MONTH) + "月"
+ calendar.get(Calendar.DAY_OF_MONTH) + "日 "
+ calendar.get(Calendar.HOUR_OF_DAY) + ":"
+ calendar.get(Calendar.MINUTE);
}
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));
}
/**
* 彈出日期時間選擇框方法
*
* @param inputDate
* :為需要設置的日期時間文本編輯框
* @return
*/
public AlertDialog dateTimePicKDialog(final EditText inputDate) {
LinearLayout dateTimeLayout = (LinearLayout) activity
.getLayoutInflater().inflate(R.layout.common_datetime, null);
datePicker = (DatePicker) dateTimeLayout.findViewById(R.id.datepicker);
timePicker = (TimePicker) dateTimeLayout.findViewById(R.id.timepicker);
init(datePicker, timePicker);
timePicker.setIs24HourView(true);
timePicker.setOnTimeChangedListener(this);
ad = new AlertDialog.Builder(activity)
.setTitle(initDateTime)
.setView(dateTimeLayout)
.setPositiveButton("設置", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
inputDate.setText(dateTime);
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
inputDate.setText("");
}
}).show();
onDateChanged(null, 0, 0, 0);
return ad;
}
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
onDateChanged(null, 0, 0, 0);
}
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// 獲得日歷實例
Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(),
datePicker.getDayOfMonth(), timePicker.getCurrentHour(),
timePicker.getCurrentMinute());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
dateTime = sdf.format(calendar.getTime());
ad.setTitle(dateTime);
}
/**
* 實現將初始日期時間2012年07月02日 16:45 拆分成年 月 日 時 分 秒,並賦值給calendar
*
* @param initDateTime
* 初始日期時間值 字元串型
* @return Calendar
*/
private Calendar getCalendarByInintData(String initDateTime) {
Calendar calendar = Calendar.getInstance();
// 將初始日期時間2012年07月02日 16:45 拆分成年 月 日 時 分 秒
String date = spliteString(initDateTime, "日", "index", "front"); // 日期
String time = spliteString(initDateTime, "日", "index", "back"); // 時間
String yearStr = spliteString(date, "年", "index", "front"); // 年份
String monthAndDay = spliteString(date, "年", "index", "back"); // 月日
String monthStr = spliteString(monthAndDay, "月", "index", "front"); // 月
String dayStr = spliteString(monthAndDay, "月", "index", "back"); // 日
String hourStr = spliteString(time, ":", "index", "front"); // 時
String minuteStr = spliteString(time, ":", "index", "back"); // 分
int currentYear = Integer.valueOf(yearStr.trim()).intValue();
int currentMonth = Integer.valueOf(monthStr.trim()).intValue() - 1;
int currentDay = Integer.valueOf(dayStr.trim()).intValue();
int currentHour = Integer.valueOf(hourStr.trim()).intValue();
int currentMinute = Integer.valueOf(minuteStr.trim()).intValue();
calendar.set(currentYear, currentMonth, currentDay, currentHour,
currentMinute);
return calendar;
}
/**
* 截取子串
*
* @param srcStr
* 源串
* @param pattern
* 匹配模式
* @param indexOrLast
* @param frontOrBack
* @return
*/
public static String spliteString(String srcStr, String pattern,
String indexOrLast, String frontOrBack) {
String result = "";
int loc = -1;
if (indexOrLast.equalsIgnoreCase("index")) {
loc = srcStr.indexOf(pattern); // 取得字元串第一次出現的位置
} else {
loc = srcStr.lastIndexOf(pattern); // 最後一個匹配串的位置
}
if (frontOrBack.equalsIgnoreCase("front")) {
if (loc != -1)
result = srcStr.substring(0, loc); // 截取子串
} else {
if (loc != -1)
result = srcStr.substring(loc + 1, srcStr.length()); // 截取子串
}
return result;
}
}
/DateTimePicker/src/com/wwj/datetimepicker/DateTimePickerActivity.java
[java] view plain
package com.wwj.datetimepicker;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
/**
* 時間拾取器界面
*
* @author wwj_748
*
*/
public class DateTimePickerActivity extends Activity {
/** Called when the activity is first created. */
private EditText startDateTime;
private EditText endDateTime;
private String initStartDateTime = "2013年9月3日 14:44"; // 初始化開始時間
private String initEndDateTime = "2014年8月23日 17:44"; // 初始化結束時間
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 兩個輸入框
startDateTime = (EditText) findViewById(R.id.inputDate);
endDateTime = (EditText) findViewById(R.id.inputDate2);
startDateTime.setText(initStartDateTime);
endDateTime.setText(initEndDateTime);
startDateTime.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
DateTimePickDialogUtil dateTimePicKDialog = new DateTimePickDialogUtil(
DateTimePickerActivity.this, initEndDateTime);
dateTimePicKDialog.dateTimePicKDialog(startDateTime);
}
});
endDateTime.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
DateTimePickDialogUtil dateTimePicKDialog = new DateTimePickDialogUtil(
DateTimePickerActivity.this, initEndDateTime);
dateTimePicKDialog.dateTimePicKDialog(endDateTime);
}
});
}
}
自定義界面:
/DateTimePicker/res/layout/common_datetime.xml
[html] view plain
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<DatePicker
android:id="@+id/datepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:calendarViewShown="false" />
<TimePicker
android:id="@+id/timepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
源碼下載:http://download.csdn.net/detail/wwj_748/7806993
Ⅳ react native在android下怎麼設置年月日時分秒
選擇 Reload (或者在 iOS 虛擬機中按組合鍵 ? + r) 將會重新載入作用於你的應滾笑用程序中的 JavaScript 。譽毀 如果你增加了新的資源 (例如,將一幅圖添加到 iOS 中的 Images.xcassets ,或 Android 中的 res/drawable 文件夾) 或者對任何本地代碼進行修改 ( iOS 中的 Objective-C/Swift 代碼或 Android 中的 Java/慶備備C++ 代碼),你將需要重新生成該應用程序以使更改生效。
Ⅳ android fragment中怎樣設置日期選擇器
如果扒姿是比較低的版本用的是supportv4兼容包的話 布局中無法使用Fragment標簽 最好慎畝是在布局裡用xml文件寫一個framelayout的標簽。 寫一個子類繼承Fragment。 在FragmentActivity中使用Fragment。綁定。添加。移除。。此時要與Framelayout組件的id綁定。 要執行操作此時要得到FragmentManager 並且通過FragmentTransaction來提交事務。 這里寬此森就和官方demo上的用法一樣了 要注意的是最好不要再別的地方new一個Fragment 。Fragment的生命周期會受到相關Activity的影響。。最好在自己裡面定義靜態的newInstance方法。 希望能幫助你。
Ⅵ android 的DatePicker怎麼取出 年月日的值
這是一個Android原生的控制項,一個日期控制項,如你所說,有年月日
第一步:
獲取DatePicker的控制項
DatePicker mDatePicker = (DatePicker)findViewById(R.id.datePicker);
第二步:
初始化並設置監聽
mDatePicker.init(mYear,mMonth,mDay,new DatePicker.OnDateChangeListener()
{
@Override
public void onDateChanged(DatePicker view,int year,int monthOfYear,int dayOfMonth)
{
//Todo 對獲取的日期進行處理,例如
Toast.makText(mContext,""+year+monthOfYear+dayOfMonth,1000).show();
}
}
Ⅶ android 的DatePicker怎麼取出 年月日的值
private TextView t;//定義一個textview控制項
private DatePicker dp;//日期控制項
dp=(DatePicker)findViewById(R.id.datePicker1);取得id
t=(TextView)findViewById(R.id.text)取得id
dp.init(ca.get(Calendar.YEAR),ca.get(Calendar.MONTH),
ca.get(Calendar.DAY_OF_MONTH),
new DatePicker.OnDateChangedListener() {
//監聽選擇型棚的出生日期
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
ca.set(year, monthOfYear,dayOfMonth);//改變日期
t.setText(year+"年"+monthOfYear+"月"+dayOfMonth+"山培日");
//取得值逗租唯
}
});
Ⅷ Android下幾個相關的時間日期控制項的用法
獲取年月日,之前的日期不能選擇
日歷c = Calendar.getInstance(); //獲取系統的工具類【可以獲取時間】DatePickerDialog datePickerDialog = new DatePickerDialog(context,new DatePickerDialog.OnDateSetListener(){@覆蓋public void onDateSet(DatePicker view,int year,int month,int dayOfMonth){月+ = 1;yuyueTime.setText(year +「 - 」+ month +「 - 」+ dayOfMonth);}},c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DATE)); //設置默認時間。datePickerDialog.getDatePicker()setMinDate(c.getTime()的getTime()); //設置最小值datePickerDialog.show();
相關類的認識
選取器(的DatePicker,TimerPicker,NumberPicker)
其中的DatePicker和TimerPicker都有窗口的形式顯示日期和時間,再返回數據。
下面分別介紹這幾種時間類的使用方法。
一.DatePicker日期選擇類的使用
DatePicker的常用的XML屬性
XML屬性
描述
機器人:calendarViewShown 設置該日期選擇是否顯示CalendarView組件。
機器人:endYear 設置日期選擇器允許選擇的最後一年。
安卓的maxDate 設置該日期選擇器的最大日期。以MM / DD / YYYY格式指定最大日期。
安卓的minDate 設置該日期選擇器的最小日期。以MM / DD / YYYY格式指定最小日期。
機器人:spinnersShown 設置該日期選擇器是否顯示微調日期選擇組件。
機器人:startYear 設置日期選擇器允許選擇的第一年。
當用戶更改了的DatePicker里的年,月,日時,將觸發OnDateChangedListener監聽器的onDateChange()事件。
二.TimePicker日期選擇類的使用
當用戶更改了TimePicker里的時,分時,將觸發OnTimeChangedListener監聽器的onTimeChanged事件。
下面是日期選擇類和時間選擇類的一個使用示例:
(一)布局文件設計
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="顯示日期的控制項" /><DatePicker android:id="@+id/main_dp"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="顯示時間的控制項" /><TimePicker android:id="@+id/main_tp_showTime"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextView android:id="@+id/main_tv_showdate"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="顯示日期" /><TextView android:id="@+id/main_tv_showtime"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="顯示時間" /></LinearLayout>
1
- package com.example.timer;import java.util.Calendar;import android.app.Activity;import android.os.Bundle;import android.widget.DatePicker;import android.widget.DatePicker.OnDateChangedListener;import android.widget.TextView;import android.widget.TimePicker;import android.widget.TimePicker.OnTimeChangedListener;public class MainActivity extends Activity {int year = 0;int monthOfYear = 0;int dayOfMonth = 0;int minute = 0;int houre = 0;TextView showDate = null;TextView showtime = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();showDate(year, monthOfYear + 1, dayOfMonth);showTime(houre, minute);}private void initView() {// 日期控制項對象DatePicker date = (DatePicker) findViewById(R.id.main_dp);// 獲得日歷對象Calendar c = Calendar.getInstance();// 獲取當前年份year = c.get(Calendar.YEAR);// 獲取當前月份monthOfYear = c.get(Calendar.MONTH);// 獲取當前月份的天數dayOfMonth = c.get(Calendar.DAY_OF_MONTH);// 獲取當前的小時數houre = c.get(Calendar.HOUR_OF_DAY);// 獲取當前的分鍾數minute = c.get(Calendar.MINUTE);// 時間顯示的文本對象showDate = (TextView) findViewById(R.id.main_tv_showdate);// 為日期設置監聽事件date.init(year, monthOfYear, dayOfMonth, new OnDateChangedListener() {@Overridepublic void onDateChanged(DatePicker view, int year,int monthOfYear, int dayOfMonth) {MainActivity.this.year = year;MainActivity.this.monthOfYear = monthOfYear;MainActivity.this.dayOfMonth = dayOfMonth;showDate(year, monthOfYear + 1, dayOfMonth);}});// 顯示時間的文本控制項showtime = (TextView) findViewById(R.id.main_tv_showtime);// 時間顯示的控制項TimePicker time = (TimePicker) findViewById(R.id.main_tp_showTime);// 為時間控制項設置監聽事件time.setOnTimeChangedListener(new OnTimeChangedListener() {@Overridepublic void onTimeChanged(TimePicker view, int hourOfDay, int minute) {showTime(hourOfDay, minute);}});}//顯示日期的方法private void showDate(int year, int monthOfYear, int dayOfMonth) {showDate.setText("日期是:" + year + "年" + monthOfYear + "月" + dayOfMonth+ "日");}//顯示時間的方法private void showTime(int houre2, int minute2) {showtime.setText("時間是:" + houre2 + "時" + minute2 + "分");}}
1
- DatePickerDialog(Context context, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)
1
- TimePickerDialog(Context context, TimePickerDialog.OnTimeSetListener listener, int hourOfDay,int minute, boolean is24HourView)
1
- <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="getDate"android:text="設置日期" /><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="getTime"android:text="設置時間" /><TextView android:id="@+id/dialog_tv_date"android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="getTime"android:text="日期:" /><TextView android:id="@+id/dialog_tv_time"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="時間:" /></LinearLayout>
1
- package com.java.pickerDialog;import com.example.timer.R;import android.app.Activity;import android.app.DatePickerDialog;import android.app.TimePickerDialog;import android.os.Bundle;import android.view.View;import android.widget.DatePicker;import android.widget.TextView;import android.widget.TimePicker;public class PickerDialog extends Activity {TextView tv_date = null;TextView tv_time = null;int year = 2016;int month = 10;int day = 8;int houre = 15;int minute = 20;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_pickerdialog);initView();}private void initView() {tv_date = (TextView) findViewById(R.id.dialog_tv_date);tv_time = (TextView) findViewById(R.id.dialog_tv_time);}// 點擊事件,湖區日期public void getDate(View v) {new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {@Overridepublic void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {PickerDialog.this.year = year;month = monthOfYear;day = dayOfMonth;}}, 2016, 10, 8).show();showDate();}// 點擊事件,湖區日期public void getTime(View v) {new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay, int minute) {houre = hourOfDay;PickerDialog.this.minute = minute;}}, 15, 20, true).show();showTime();}// 顯示選擇日期private void showDate() {tv_date.setText("你選擇的日期是:" + year + "年" + month + "月" + day + "日");}// 顯示選擇日期private void showTime() {tv_time.setText("你選擇的時間是:" + houre + "時" + minute + "分");}}
1
- <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TableLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center" ><TableRow android:layout_width="match_parent"android:layout_height="wrap_content" ><TextView android:layout_margin="5dp"android:background="#e2a617"android:gravity="center"android:text="年"android:textSize="20sp" /><TextView android:layout_margin="5dp"android:background="#0d637f"android:gravity="center"android:text="月"android:textSize="20sp" /><TextView android:layout_margin="5dp"android:background="#aa2266"android:gravity="center"android:text="日"android:textSize="20sp" /></TableRow><TableRow android:layout_width="match_parent"android:layout_height="wrap_content" ><NumberPicker android:id="@+id/number_np_year"android:layout_width="wrap_content"android:layout_height="wrap_content" /><NumberPicker android:id="@+id/number_np_month"android:layout_width="wrap_content"android:layout_height="wrap_content" /><NumberPicker android:id="@+id/number_np_day"android:layout_width="wrap_content"android:layout_height="wrap_content" /></TableRow></TableLayout><TextView android:id="@+id/number_tv_year"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="日期:" /></LinearLayout>
1
- package com.java.timepicker;import android.app.Activity;import android.os.Bundle;import android.widget.NumberPicker;import android.widget.NumberPicker.OnValueChangeListener;import android.widget.TextView;import com.example.timer.R;public class NumberPickerActivity extends Activity {NumberPicker num_year = null;NumberPicker num_month = null;NumberPicker num_day = null;TextView tv_year = null;int year = 2016;int month = 10;int day = 8;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_numberpicker);initView();}private void initView() {// 實例化NumberPicker對象num_year = (NumberPicker) findViewById(R.id.number_np_year);num_month = (NumberPicker) findViewById(R.id.number_np_month);num_day = (NumberPicker) findViewById(R.id.number_np_day);// 實例化顯示年份的文本對象Ftv_year = (TextView) findViewById(R.id.number_tv_year);initYear();initMonth();initDay();}private void initYear() {// 設置NumberPicker對象的相關屬性num_year.setMaxValue(100000);num_year.setMinValue(1900);num_year.setValue(2016);// 為NumberPicker設置監聽事件num_year.setOnValueChangedListener(new OnValueChangeListener() {@Overridepublic void onValueChange(NumberPicker picker, int oldVal,int newVal) {year = newVal;showDate();}});}private void initMonth() {// 設置NumberPicker對象的相關屬性num_month.setMaxValue(12);num_month.setMinValue(1);num_month.setValue(10);// 為NumberPicker設置監聽事件num_month.setOnValueChangedListener(new OnValueChangeListener() {@Overridepublic void onValueChange(NumberPicker picker, int oldVal,int newVal) {month = newVal;showDate();}});}private void initDay() {// 設置NumberPicker對象的相關屬性num_day.setMaxValue(31);num_day.setMinValue(1);num_day.setValue(8);// 為NumberPicker設置監聽事件num_day.setOnValueChangedListener(new OnValueChangeListener() {@Overridepublic void onValueChange(NumberPicker picker, int oldVal,int newVal) {day = newVal;showDate();}});}void showDate() {tv_year.setText("你選擇的日期是:" + year + "年" + month + "月" + day + "日");}}
1
(二)主代碼設計
運行後顯示的結果:
可以從運行結果直接看到,控制項的顯示,可以上下拖動選擇自己想要的日期和時間,但是,我們看到這樣做是比較占屏幕空間的。所以後面介紹的用窗口選擇日期和時間是比較常用的。
三。DatePickerDialog
DatePickerDialog和TimePickerDialog,與的DatePicker和TimePicker,最大的區別是的DatePicker和TimePicker是直接顯示在屏幕畫面上的,而DatePickerDialog和TimePickerDialog對象則是以彈出對話框的方式來顯示。
創建DatePickerDialog的語法如下:
參數說明:
上下文:當前上下文;
回調:OnDateSetListener日期改變監聽器;
年:初始化的年;
monthOfYear:初始化的月(從0開始計數,所以實際應用時需要加1);
請將dayOfMonth:初始化的日;
當用戶更改了DatePickerDialog里的年,月,日時,將觸發OnDateSetListener監聽器的onDateSet()事件。
四。TimePickerDialog
創建TimePickerDialog的語法如下:
參數說明:
上下文:當前上下文;
聽眾:時間改變監聽器;
hourOfDay:初始化的小時;
分鍾:
初始化的分鍾; is24HourView:是否以24小時顯示時間;
當用戶更改了TimePickerDialog里的時,分時,將觸發OnTimeSetListener監聽器的onTimeSet()事件。
下面是日期和時間以窗口的形式顯示的示例:
(一)布局文件設計
(二)代碼設計
運行後顯示的界面:點擊日期按鈕後點擊時間按鈕後之後顯示的效果
這個以對話框的形式來選擇時間還是比較常見的。而且用戶體驗也是比較好的。
五。NumberPicker
NumberPicker是數值選擇器,用於讓用戶輸入數值,用戶既可以通過鍵盤輸入數值,也可以通過拖動來選擇數值。
NumberPicker的常用方法如下:
方法
描述
setMinValue(int minVal) 設置該組件支持的最小值。
setMaxValue(int maxVal) 設置該組件支持的最大值。
setValue(int value) 設置該組件的當前值。
getMaxValue() 獲得該組件設置的最大值。
getMinValue() 獲得該組件設置的最小值。
的getValue() 獲得當前組件顯示的值。
setValue(int value) 設置當前組件顯示的值。
使用NumberPicker讓用戶選擇年月日的示例:
(一)布局文件設計
(二)的Java代碼的設計
程序運行後的效果:
選擇日期之後的效果
可以看到同樣可以顯示出日期。
這里是用來三個NumberPicker控制項才能有這個效果,如果要具體時間要多加兩個NumberPicker控制項,就可以了。
但是這樣做相對來的要出來的數據還是比較多一點的。
以上就是時間控制項的使用的方法和簡單使用,總的來的還是以窗口的形式來顯示還是比較符合設計思想的,也是我們要重點掌握的。
Ⅸ 高通android 默認年月日怎麼修改
應用能夠配置Android系統的各種設置,這些設置的默認值都是由frameworks中的SettingsProvider從資料庫中讀取的frameworks/base/packages/SettingsProvider/res/values/defaults.xml這個文件就是用來存儲默認值的
Android 系統設置中的默認設置如下所示:
<integer name="def_screen_off_timeout">600000</integer>設置關屏超時時間的默認值
<integer name="def_screen_brightness">102</integer> 設置亮度的默認值
<bool name="def_install_non_market_apps">false</bool>設置是否允許安裝非Market應用程序的默認值
開機圖片:
android-logo-mask.png
android-logo-shine.png
這兩個圖片一個在上一個在下
./out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes/assets/images/android-logo-shine.png
./frameworks/base/core/res/assets/images/android-logo-shine.png
注意:如果源碼沒有make可以直接更改frameworks里的的圖片就可以了
然後直接make否則必須全更改並且不能make只能make firmwar
默認開機牆紙的位置:
default_wallpaper.jpg
./out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes/res/drawable/default_wallpaper.jpg
./frameworks/base/core/res/res/drawable/default_wallpaper.jpg
注意:這個設置和上面的一樣這倆個都不能更改文件名
更改PC機器刪除硬體的文字kernel中
drivers/usb/gadget/f_mass_storage.c
fsg->vendor = "XXXXXXXXXXXXX";
更改卷標:
bootable/recovery/etc/init.rc
setprop UserVolumeLabel "XXXXXXXXXXXXX"
直接打包
修改屏幕鎖:
(1)frameworks/base/packages/SettingsProvider/res/values/defaults.xml
<integer name="def_screen_off_timeout">60000</integer>
60000改成想要的時間如果是不鎖為-1(2)frameworks/policies/base/phone/com/android/internal/policy/impl/KeyguardViewMediator.java
private boolean mExternallyEnabled = true;
將其修改成false,這樣更改就不會再進入休眠狀態了
設定初始化主頁:
package/app/Browser/res/values/String.xml
655行
後面的應該是書簽里的
設定亮度0~255:
frameworks/base/packages/SettingsProvider/res/values/defaults.xml
def_screen_brightness-->這個值初始化好像是100多
音量:
frameworks/base/media/java/android/media/AudioManager.java
數組DEFAULT_STREAM_VOLUME第4個值(最大我設置到30但是還是差2格才到最大--默認是11
建議將數組里的所有的數值都設為最大就OK了)
設置Google帳戶,左上角提示「正在設置RK2818SDK」,要求改成「正在設置W9」:
out\target\proct\sdkDemo\root 中default.prop文件第13行
ro.proct.model=rk2818sdk 改為 ro.proct.model=W9
錄音沒有小時顯示。要求增加:
packages\apps\SoundRecorder\src\com\android\soundrecorder
(1)SoundRecorder.java中: private void updateTimerView()
把 String timeStr = String.format(mTimerFormat, time/60, time%60);
改為:long hour=time/3600;
String timeStr = String.format(mTimerFormat, hour, (time-hour*3600)/60, time%60);
(2) \res\values中strings.xml改為:
<string name="timer_format"><xliff:g id="format">%02d:%02d:%02d</xliff:g></string>
去掉Bluetooth:
(主界面->添加文件夾->Bluetooth received)
ic_launcher_folder_bluetooth.png(72*72):
在\packages\apps\Bluetooth\res\drawable-hdpi
解決方法:刪除\out\target\proct\sdkDemo\system\app下的Bluetooth.apk
充電鎖屏時圖片:
frameworks\base\core\res\res\drawable-hdpi:ic_lock_idle_charging.png
去掉鎖屏時顯示充電百分比在:
frameworks\base\core\res\res\values-zh-rCN中strings.xml 的lockscreen_plugged_in 括弧中的內容及括弧 !!
去掉動態桌面背景選項:
packages\wallpapers\Basic 中AndroidManifest.xml的<service>這些,如星系注釋掉如下這些:
<service
android:label="@string/wallpaper_galaxy" android:name="com.android.wallpaper.galaxy.GalaxyWallpaper"
android:permission="android.permission.BIND_WALLPAPER">
<intent-filter>
<action android:name="android.service.wallpaper.WallpaperService" />
</intent-filter>
<meta-data android:name="android.service.wallpaper" android:resource="@xml/galaxy" />
</srvice>
更改版本號:
build/core/Makefile
79行
RK_VER := xxx
更改界面布局
位置:package/app/Launcher2/res/xml/default_workspace.xml
注意:adb shell 里當你點擊任意的一個apk的時候,在後台會輸出
I/ActivityManager( 728): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.estrongs.android.pop/.view.FileExplorerActivity bnds=[294,373][393,478] }
I/WindowManager( 728): Setting rotation to 1, animFlags=0
看上面「cmp=com.estrongs.android.pop」的部分就可以找到/前是包名/後面是類名-->這個是在default_workspace.xml裡面需要用到的
launcher:packageName="com.android.browser"
launcher:className="com.android.browser.BrowserActivity"
如何將pdf類的文件放到桌面上
將自己製作的pdf幫助文檔放置到桌面上使客人可以直接點擊就瀏覽
String urlString = "/system/app/Nvsbl P4Dv2 English Manual.pdf";
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(urlString)),"application/pdf");
startActivity(intent);
finish();
解釋下:
首先將pdf文檔放到out/target/proct/sdkDemo/system/app下
將固定地址給出urlString,使用Intent
intent.setAction(android.content.Intent.ACTION_VIEW);啟動View
intent.setDataAndType(Uri.fromFile(new File(urlString)),"application/pdf");
application/pdf可以指定別的格式包括音頻,視頻,圖片等等但是沒有試過有需要可以試試
注意:這個方法很不到如果只放置一些圖片還可以但是如果放置文件比較大那麼打包出來的
system.img文件會很大也就是佔用本身的系統內存----->所以不推薦使用
發現PIN解鎖界面出現5秒之後就會自動進入睡眠,之後將無法再次解鎖。目前解決方法:
修改文件 frameworks\policies\base\phone\com\android\internal\policy\impl\KeyguardViewMediator.java
將如下這行:
protected static final int AWAKE_INTERVAL_DEFAULT_MS = 5000;
修改為:
protected static final int AWAKE_INTERVAL_DEFAULT_MS = 1000 * 60 * 5;
Ⅹ android DatePickerDialog怎麼設置日期選擇范圍。
時間設置對話框DatePickerDialog的使用
一、可以同過重載DatePickerDialog的setTitle來設置個性的標題
比如:
@Override
public void setTitle(CharSequence title) {
// TODO Auto-generated method stub
java.text.DateFormat dataFormat = (DateFormat
.getDateFormat(getContext()));
mCalendar = Calendar.getInstance();
//可得到「12/31/1969(Wed)」形式的日期格式
String strTitle=dataFormat.format(mCalendar.getTime())
+ DateFormat.format(" (E)", mCalendar.getTime()).toString();
super.setTitle(dataFormat.format(strTitle);
}
二、通過onDateChanged回調函數監聽時間的改變
當時間改變時(編輯) 以下函數回被調用衡祥培
public void onDateChanged(DatePicker view, int year, int month, int day) {
Log.i("hubin","咐唯onDateChanged");
}
三、通過updateDate()設置年月日
public void updateDate (int year, int monthOfYear, int dayOfMonth)設置DatePickerDialog的年,月,日
四、通過onDateChangedListener來監聽時間設置對話框的確定按鈕被按下
onDateChangedListener的onDateSet是用於都在時間設置對話框的確定按鈕被按下的監聽
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
public class TestClock extends Activity implements OnDateSetListener, OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button)findViewById(R.id.date);
btn.setOnClickListener(this);
}
public void onClick(View v) {//普通按鈕事宴察件
Calendar d = Calendar.getInstance(Locale.CHINA);
//創建一個日歷引用d,通過靜態方法getInstance() 從指定時區 Locale.CHINA 獲得一個日期實例
Date myDate=new Date();
//創建一個Date實例
d.setTime(myDate);
//設置日歷的時間,把一個新建Date實例myDate傳入
int year=d.get(Calendar.YEAR);
int month=d.get(Calendar.MONTH);
int day=d.get(Calendar.DAY_OF_MONTH);
//獲得日歷中的 year month day
DatePickerDialog dlg=new DatePickerDialog(this,this,year,month,day);
//新建一個DatePickerDialog 構造方法中
// (設備上下文,OnDateSetListener時間設置監聽器,默認年,默認月,默認日)
dlg.show();
//讓DatePickerDialog顯示出來
}
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth){
//DatePickerDialog 中按鈕Set按下時自動調用
TextView txt = (TextView) findViewById(R.id.text);
//通過id獲得TextView對象
txt.setText(Integer.toString(year) + "-" +
Integer.toString(monthOfYear) + "-" +
Integer.toString(dayOfMonth));
//設置text
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:id="@+id/text"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/date"
android:text="設置時間"
>
</Button>
</LinearLayout>