TimePicker函数

首页 / Android入门教程 / TimePicker函数

Android时间选择器可选择24小时制或AM/PM模式下的一天中的时间。时间包括小时,分钟和时钟格式。Android通过TimePicker类提供此功能。

为了使用TimePicker类,您必须首先在activity.xml中定义TimePicker组件。它定义如下-

<TimePicker
   android:id="@+id/timePicker1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content" />
Set Time

之后,您必须创建一个TimePicker类的对象,并获取上面定义的xml组件的引用。其语法如下。

import android.widget.TimePicker;
private TimePicker timePicker1;
timePicker1 = (TimePicker) findViewById(R.id.timePicker1);	

为了获取用户在屏幕上选择的时间,您将使用TimePicker类的getCurrentHour()和getCurrentMinute()方法。它们的语法在下面给出。

int hour = timePicker1.getCurrentHour();
int min = timePicker1.getCurrentMinute();

除了这些方法之外,API中还有其他方法可以更好地控制TimePicker组件。它们在下面列出。

Sr.NoMethod & description
1

is24HourView()

如果在24小时视图中,此方法返回true,否则返回false

2

isEnabled()

此方法返回此视图的启用状态

无涯教程网

3

setCurrentHour(Integer currentHour)

此方法设置当前时间

4

setCurrentMinute(Integer currentMinute)

此方法设置当前分钟

5

setEnabled(boolean enabled)

此方法设置此视图的启用状态

6

setIs24HourView(Boolean is24HourView)

此方法设置为24小时制还是AM/PM模式

7

setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)

此方法设置指示用户已调整时间的回调

示例

这是一个演示使用TimePicker类的示例。它创建一个基本的Time Picker应用程序,使您可以使用TimePicker Widget设置时间。

以下是修改后的主要Activity文件 src/com.example.timepicker/MainActivity.java 的内容。

package com.example.timepicker;

import java.util.Calendar;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
import android.widget.TimePicker;

public class MainActivity extends Activity {
   private TimePicker timePicker1;
   private TextView time;
   private Calendar calendar;
   private String format = "";

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      
      timePicker1 = (TimePicker) findViewById(R.id.timePicker1);
      time = (TextView) findViewById(R.id.textView1);
      calendar = Calendar.getInstance();
      
      int hour = calendar.get(Calendar.HOUR_OF_DAY);
      int min = calendar.get(Calendar.MINUTE);
      showTime(hour, min);
   }

   public void setTime(View view) {
      int hour = timePicker1.getCurrentHour();
      int min = timePicker1.getCurrentMinute();
      showTime(hour, min);
   }

   public void showTime(int hour, int min) {
      if (hour == 0) {
         hour += 12;
         format = "AM";
      } else if (hour == 12) {
         format = "PM";
      } else if (hour > 12) {
         hour -= 12;
         format = "PM";
      } else {
         format = "AM";
      }
		
      time.setText(new StringBuilder().append(hour).append(" : ").append(min)
      .append(" ").append(format));
   }


}

以下是xml res/layout/activity_main.xml 的修改内容。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >
   
   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:text="@string/time_pick"
      android:textAppearance="?android:attr/textAppearanceMedium" />
      
   <Button
      android:id="@+id/set_button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true"
      android:layout_marginBottom="180dp"
      android:onClick="setTime"
      android:text="@string/time_save" />
      
   <TimePicker
      android:id="@+id/timePicker1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_above="@+id/set_button"
      android:layout_centerHorizontal="true"
      android:layout_marginBottom="24dp" />
      
   <TextView
      android:id="@+id/textView3"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/timePicker1"
      android:layout_alignTop="@+id/set_button"
      android:layout_marginTop="67dp"
      android:text="@string/time_current"
      android:textAppearance="?android:attr/textAppearanceMedium" />
      
   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/textView3"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="50dp"
      android:text="@string/time_selected"
      android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

以下是 res/values/string.xml 的内容。

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">TimePicker</string>
   <string name="action_settings">Settings</string>
   <string name="time_picker_example">Time Picker Example</string>
   <string name="time_pick">Pick the time and press save button</string>
   <string name="time_save">Save</string>
   <string name="time_selected"></string>
   <string name="time_current">The Time is:</string>
</resources>

单击"运行 Eclipse运行图标工具栏。 Android Studio将应用程序安装在您的AVD上并启动它,如果您的设置和应用程序一切正常,它将显示在"Emulator"窗口下面-

Android Time Picker Tutorial

这一章《Android - TimePicker函数》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持

好记忆不如烂笔头。留下你的足迹吧 :)

相关推荐

Spark性能调优实战 -〔吴磊 - 〕

陈天 · Rust 编程第一课 -〔陈天 - 〕

深入剖析Java新特性 -〔范学雷 - 〕

中间件核心技术与实战 -〔丁威 - 〕

Jetpack 组合和片段

为什么我不能在屏幕外拿任何物体

MVVM - 这个逻辑的最佳层是什么?

撰写 FontFamily 错误:“必须初始化变量”

单击后退按钮时,应用程序会在一秒钟后崩溃

如何在广播接收器(Broadcast Receiver)中获取我的单例处理程序的实例?

视频推荐

Android - 60-案例-找回密码-登录界面 更多视频教程 »