导航:首页 > 操作系统 > 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选择时间段相关的资料

热点内容
记事本dos命令 浏览:271
服务器如何搭建多个节点 浏览:324
acx算法 浏览:256
幽冥诡匠漫画全集用什么app可以看 浏览:1001
租用服务器为什么越来越慢 浏览:960
算法创新就业方向 浏览:423
算法最优解作者 浏览:867
通达信红绿宝塔线指标源码 浏览:667
app是什么东西合法吗 浏览:231
怎么锁app视频教程 浏览:841
迅捷pdf注册码生成器 浏览:748
androidsdkosx 浏览:303
压缩面膜纸荧光 浏览:841
app怎么分身三个 浏览:744
电影bt下载源码 浏览:422
iwatch屏幕加密芯片 浏览:570
公安主题网站源码 浏览:986
天津市服务器供应商云服务器 浏览:115
数控车床子程序编程 浏览:111
floydwarshall算法 浏览:719