導航:首頁 > 操作系統 > android選擇時間段

android選擇時間段

發布時間:2022-08-28 01:32:28

android studio怎樣實現夜間模式

就是在設置里提供一個ToggleButton,打開或者關閉夜間模式。同時在新的API里提供介面,對所有支持夜間模式的應用進行統一調度。打開
總開關,默認開啟其他第三方應用的夜間模式。然後也設置一個規則,可忽略某個軟體。再自動化一些,可以設置個時間段,即默認開啟夜間模式的時間段。

這個Feature的實現必然要第三方開發者支持。雖然有時候夜間模式看起來可有可無,但是對於喜歡睡前玩一下手機的人來說,也是個挺人性化的功能呢。

當然目前Android API還沒有這個,不過我們還是可以在自己應用中給用戶介面,讓用戶選擇夜間模式,或者設置個時間段觸發該功能。

寫了個小Demo,簡單了實現了切換夜間模式,總結一下:

在工程目錄res/values/下新建attrs.xml,內容如下:

view sourceprint?
01.<?xml version="1.0" encoding="utf-8"?>
02.<resources>
03.
04.<attr name="btnColor" format="color" />
05.<attr name="mainBackground" format="color" />
06.<attr name="mainTextColor" format="reference|color" />
07.<attr name="textString" format="string" />
08.
09.</resources>

然後就是在style中定義兩種主題,每一種主題都要至少包含以上attrs中的幾種屬性:

view sourceprint?
01.<?xml version="1.0" encoding="utf-8"?>
02.<resources>
03.
04.<!-- 默認 -->
05.<style name="MyThemeDefault" parent="@android:style/Theme">
06.<item name="btnColor">#00ff00</item>
07.<item name="mainBackground">#ffffff</item>
08.<item name="mainTextColor">#000000</item>
09.<item name="textString">默認主題</item>
10.</style>
11.
12.<!-- 夜間 -->
13.<style name="MyThemeNight" parent="@android:style/Theme">
14.<item name="btnColor">#0000ff</item>
15.<item name="mainBackground">#000000</item>
16.<item name="mainTextColor">#ffffff</item>
17.<item name="textString">夜間主題</item>
18.</style>
19.
20.</resources>

主題定義好了,然後就是在布局文件中引用了,裡面有?號的地方就是引用以上定義的label:

view sourceprint?
01.<?xml version="1.0" encoding="utf-8"?>
02.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
03.android:layout_width="fill_parent"
04.android:layout_height="fill_parent"
05.android:background="?mainBackground"
06.android:orientation="vertical" >
07.
08.<TextView
09.android:layout_width="fill_parent"
10.android:layout_height="wrap_content"
11.android:text="?textString" />
12.
13.<ImageView
14.android:id="@+id/ivBook"
15.android:layout_width="62dip"
16.android:layout_height="42dip"
17.android:layout_gravity="center"
18.android:layout_marginTop="0dip"
19.android:gravity="center"
20.android:src="?btnColor" />
21.
22.<Button
23.android:id="@+id/btnSet"
24.android:layout_width="wrap_content"
25.android:layout_height="wrap_content"
26.android:layout_marginTop="50dp"
27.android:text="改變主題" />
28.
29.<Button
30.android:id="@+id/btnGet"
31.android:layout_width="wrap_content"
32.android:layout_height="wrap_content"
33.android:layout_marginTop="50dp"
34.android:text="Get Flag" />
35.
36.</LinearLayout>

下面就是在Activiy中定義要使用那種主題了:

view sourceprint?
01.public class MainActivity extends Activity {
02.private boolean blFlag = false;
03.private ImageView ivBook;
04.private Button btnSet;
05.private Button btnGet;
06.
07.@Override
08.public void onCreate(Bundle savedInstanceState) {
09.super.onCreate(savedInstanceState);
10.this.setTheme(R.style.MyThemeDefault);
11.setContentView(R.layout.main);
12.btnSet = (Button) findViewById(R.id.btnSet);
13.btnGet = (Button) findViewById(R.id.btnGet);
14.ivBook = (ImageView) findViewById(R.id.ivBook);
15.btnSet.setOnClickListener(new onClickListenerImp());
16.btnGet.setOnClickListener(new onClickListenerImp());
17.ivBook.setOnClickListener(new onClickListenerImp());
18.
19.}
20.
21.class onClickListenerImp implements OnClickListener {
22.@Override
23.public void onClick(View v) {
24.// TODO Auto-generated method stub
25.if (v == btnSet || v == ivBook) {
26.if (blFlag) {
27.setTheme(R.style.MyThemeDefault);
28.blFlag = false;
29.} else if (!blFlag) {
30.setTheme(R.style.MyThemeNight);
31.blFlag = true;
32.}
33.setContentView(R.layout.main);
34.btnSet = (Button) findViewById(R.id.btnSet);
35.btnGet = (Button) findViewById(R.id.btnGet);
36.ivBook = (ImageView) findViewById(R.id.ivBook);
37.btnSet.setOnClickListener(new onClickListenerImp());
38.btnGet.setOnClickListener(new onClickListenerImp());
39.ivBook.setOnClickListener(new onClickListenerImp());
40.} else if (v == btnGet) {
41.Toast.makeText(MainActivity.this, "blFlag: " + blFlag,
42.Toast.LENGTH_SHORT).show();
43.}
44.}
45.
46.}
47.
48.}

要注意的是,在onClickListenerImp()類中的
view sourceprint?
1.setContentView(R.layout.main);
這句後面,要重新綁定各組件及其監聽器,不然只能監聽一次。這是因為在setContentView後,組件不是之前那個組件了。

㈡ (高分,Android)求一個時間選擇控制項,支持選擇一段時間

Android 時間段選擇

看看這個符合不

㈢ 怎麼讓手機桌面上時間和日期顯示出來

設置時間日期在手機桌面上顯示步驟如下:

1、以MIUI系統為例,長按手機底部菜單鍵,進入桌面編輯模式,點擊「桌面工具」菜單。

Android有較多的軟體,面向Android手機桌面的軟體通常稱為Android桌面軟體。

安裝這類軟體後可以不採用Android原生界面,進入一些個性化地主頁。市場上的Android桌面主要在桌面配色,桌面主題及桌面滑屏效果方面做了很大的改進,使Android用戶桌面體驗得到了很大的提升。

㈣ 有沒有這樣一款安卓鬧鍾軟體,可以在指定時刻響起一段時間後自動關閉,而且這段時間可以設置的

有,很多鬧鍾都有,不過我用過最好用的是 Xtreme鬧鍾,老外的,你說的功能它都有,而且比你想的更加方便。比起國內那些鬧鍾好用多了,沒有亂七八糟的其他功能,而鬧鍾的功能確非常完善,可以下到無廣告版的,強烈建議使用-------裡面有重響間隔,就是每隔多少時間響一次,高級設置里有關閉鬧鍾時間,就是你要的功能,還有鬧鍾聲音從小到大設置,打盹方式,就是響一次,你不想起來,過幾分鍾再響。

㈤ android 怎麼判斷是否在時間段 范圍內

Calendar cal = Calendar.getInstance();// 當前日期
int hour = cal.get(Calendar.HOUR_OF_DAY);// 獲取小時
int minute = cal.get(Calendar.MINUTE);// 獲取分鍾
int minuteOfDay = hour * 60 + minute;// 從0:00分開是到目前為止的分鍾數
final int start = 17 * 60 + 20;// 起始時間 17:20的分鍾數
final int end = 19 * 60;// 結束時間 19:00的分鍾數
if (minuteOfDay >= start && minuteOfDay <= end) {
System.out.println("在外圍內");
} else {
System.out.println("在外圍外");
}

推薦學安卓的利器:

android學習手冊,裡面有源碼。android學習手冊包含9個章節,108個例子,源碼文檔隨便看,例子都是可交互,可運行,源碼採用android studio目錄結構,高亮顯示代碼,文檔都採用文檔結構圖顯示,可以快速定位。360手機助手中下載,圖標上有貝殼:

㈥ android自定義時間選擇器,滑動選擇日期,智能判斷每月多少天

自定義一個類:
/DateTimePicker/src/com/wwj/datetimepicker/DateTimePickDialogUtil.java

[java] view plain
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>

㈦ 安卓平板熄屏顯示時間

方法如下:
1、打開華為pad手機的設置。
2、在設置這里,我們選擇顯示。
3、在顯示這里,我們就可以設置屏幕睡眠時間,點擊下休眠。
4、我們可以設置15秒、30秒、1分鍾、2分鍾、5分鍾、10分鍾這6個時間段。
進入手機設置界面,選擇顯示和息屏的時間,就設置好了。

㈧ android 如何獲取當天23:59的毫秒數

您好:很高興回答你的問題;
主要有以下兩種辦法:
方法一:
Date date=new Date();
String ss= ""+date.getTime();
Calendar c = Calendar.getInstance();
long l = c.getTimeInMillis();
方法二:
Date dt= new Date();
Long time= dt.getTime();
Long time2=System.currentTimeMillis();

這里提供了兩種方式獲取時間,但是如果想獲取前一天的時間,用日歷類實現即可。
我具體寫了一下如何改變日期,希望有用。
public class Test02 {public static void main(String args[]) {Calendar c = Calendar.getInstance();System.out.println("昨天是:"+c.getTime());//System.out.println("今天是:"+c.get(Calendar.YEAR)+"年"+c.get(Calendar.MONTH+1)+"月"+c.get(Calendar.DAY_OF_YEAR)+"日");c.add(Calendar.DAY_OF_YEAR, -1);System.out.println("昨天是:"+c.getTime());//System.out.println("今天是:"+c.get(Calendar.YEAR)+"年"+c.get(Calendar.MONTH+1)+"月"+c.get(Calendar.DAY_OF_YEAR)+"日");long time1 = c.getTimeInMillis();long randtime=(long)(Math.random()*(long)Math.pow(10, 6));long time2 = c.getTimeInMillis()+randtime;System.out.println(time1 + "," + time2);}} 其中long randtime=(long)(Math.random()*(long)Math.pow(10, 6));是隨機產生的一個值,如果你是一天中的時間段,是不是用這個值可以控制時間段的長度,知道開始時間和時間段長度就可以知道結束時間。
肯定行!希望能幫助你,望採納,謝謝!

㈨ android 時間選擇器怎麼設置不可選

先定義你的Edtext 然後為他定義一個點擊事件 如 //Time 是Edtext的ID Time.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new DatePickerDialog(text6.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { QS.setText("起始日期:" + String.format("%d-%d-%d", year, monthOfYear + 1, dayOfMonth)); } //2016,1,1是彈出時間選擇器的默認時間 }, 2016, 1, 2).show(); } }); 哪裡不了解再問

閱讀全文

與android選擇時間段相關的資料

熱點內容
奶粉源箱源碼什麼意思 瀏覽:167
台州程序員兼職一般去哪些網站 瀏覽:386
舊版本怎麼下載到新的安卓 瀏覽:964
flash個人網站源碼下載 瀏覽:723
javasocketbyte 瀏覽:264
素描基礎教程pdf 瀏覽:541
香港商報pdf版 瀏覽:426
安卓手機怎麼錄制吉他彈奏 瀏覽:382
ie文件夾緩存在哪裡 瀏覽:264
圍棋排名演算法 瀏覽:963
zigbee加密演算法 瀏覽:464
柏楊版資治通鑒pdf 瀏覽:395
事業編程序員下班時間 瀏覽:10
linux中命令大全 瀏覽:38
pic單片機學習網站 瀏覽:163
843除6的演算法 瀏覽:377
arduino編程視頻 瀏覽:744
pdf背景綠色 瀏覽:612
記事本dos命令 瀏覽:275
伺服器如何搭建多個節點 瀏覽:328