iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android对话框AlertDialog与DatePickerDialog及TimePickerDialog使用详解
  • 545
分享到

Android对话框AlertDialog与DatePickerDialog及TimePickerDialog使用详解

2024-04-02 19:04:59 545人浏览 独家记忆
摘要

目录一、提醒对话框AlertDialog二、日期对话框DatePickerDialog第一种-点击选择日期出现日历第二种-滚动选择日期三、时间对话框TimePickerDialog方

一、提醒对话框AlertDialog

AlertDialog可以完成常见的交互操作,如提示、确认、选择等功能,AlertDialog借助建造器AlertDialog.Builder才能完成参数设置。

调用建造器的create方法生成对话框实例,再调用对话框实例的show方法,在页面上弹出提醒对话框。

AlterDialog.Builder的常用方法说明:

  • setIcon:设置对话框的标题图标。
  • setTitle:设置对话框的标题文本。
  • setMessage:设置对话框的内容文本。
  • setPositiveButton:设置肯定按钮的信息,包括文本和监听器。
  • setNegativeButton:设置否定按钮的信息,包括文本和监听器。
  • setNeutralButton:设置中性按钮的信息,包括文本和监听器。(比较少用)

例:弹出卸载对话框

XML文件

    <Button
        Android:id="@+id/btn_alert"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="弹出提醒对话框"/>
    <TextView
        android:id="@+id/tv_alert"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"/>

java代码

public class AlertDialogActivity extends AppCompatActivity implements View.OnClickListener {
    private TextView tv_alert;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_alert_dialog);
        findViewById(R.id.btn_alert).setOnClickListener(this);
        tv_alert = findViewById(R.id.tv_alert);
    }
    @Override
    public void onClick(View view) {
        //创建提醒对话框的建造器
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //设置对话框的标题文本
        builder.setTitle("尊敬的用户");
        //设置对话的内容文本
        builder.setMessage("确定卸载?");
        //设置对话框的肯定按钮文本及其监听器
        builder.setPositiveButton("卸载",(dialog,which) -> {
           tv_alert.setText("再见");
        });
        builder.setNegativeButton("再想想",(dialog,which) -> {
            tv_alert.setText("留下来");
        });
        //根据建造器构建对话框
        AlertDialog dialog = builder.create();
        dialog.show();
    }
}

二、日期对话框DatePickerDialog

日期选择器DatePicker可以让用户选择具体的年月日。

但DatePicker并非弹窗模式,而是在当前页面占据一块区域,并且不会自动关闭。

DatePickerDialog相当于在AlertDialog上装载了DatePicker,日期选择事件则由监听器OnDateSetListener负责响应,在该监听器的onDateSet方法中,开发者获取用户选择的具体日期再做后续处理。

第一种-点击选择日期出现日历

XML文件

<LinearLayout xmlns:android="Http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="5dp">
    <Button
        android:id="@+id/btn_date"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="请选择日期"/>
    <TextView
        android:id="@+id/tv_date"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

java代码

public class DatePickerActivity extends AppCompatActivity implements View.OnClickListener, DatePickerDialog.OnDateSetListener {
    private DatePicker dp_date;
    private TextView tv_date;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_date_picker);
        findViewById(R.id.btn_date).setOnClickListener(this);
        tv_date = findViewById(R.id.tv_date);
    }
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_date:
                //获取日历实例,里面包含了当前的年月日
                Calendar calendar = Calendar.getInstance();
                DatePickerDialog dialog = new DatePickerDialog(this,this,calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH));
                //显示日期对话框
                dialog.show();
                break;
        }
    }
    @Override
    public void onDateSet(DatePicker datePicker, int year, int month, int dayOfMonth) {
        String desc = String.fORMat("您选择的日期是%d年%d月%d日",year,month+1,dayOfMonth);
        tv_date.setText(desc);
    }
}

第二种-滚动选择日期

XML文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="5dp">
    <DatePicker
        android:id="@+id/dp_date"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:datePickerMode="spinner"
        android:calendarViewShown="false"/>
    <Button
        android:id="@+id/btn_ok"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="确定"/>
    <TextView
        android:id="@+id/tv_date"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

java代码

public class DatePickerActivity extends AppCompatActivity implements View.OnClickListener {
    private DatePicker dp_date;
    private TextView tv_date;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_date_picker);
        findViewById(R.id.btn_ok).setOnClickListener(this);
        tv_date = findViewById(R.id.tv_date);
        dp_date = findViewById(R.id.dp_date);
    }
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_ok:
                String desc = String.format("您选择的日期是%d年%d月%d日",dp_date.getYear(),dp_date.getMonth()+1,dp_date.getDayOfMonth());
                tv_date.setText(desc);
                break;
        }
    }
}

三、时间对话框TimePickerDialog

时间选择器TimePicker可以让用户选择具体的小时和分钟。

TimePickerDialog用法类似DatePickerDialog。

方式一-出现时钟选择时间

XML文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="5dp">
    <Button
        android:id="@+id/btn_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="请选择时间"/>
    <TextView
        android:id="@+id/tv_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

java代码

public class TimePickerActivity extends AppCompatActivity implements View.OnClickListener, TimePickerDialog.OnTimeSetListener {
    private TextView tv_time;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_time_picker);
        findViewById(R.id.btn_time).setOnClickListener(this);
        tv_time = findViewById(R.id.tv_time);
    }
    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.btn_time:
                //获取日历
                Calendar calendar = Calendar.getInstance();
                //构建时间话对话框
                TimePickerDialog dialog = new TimePickerDialog(this,this,calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE),true);
                dialog.show();
                break;
        }
    }
    @Override
    public void onTimeSet(TimePicker timePicker, int hourOfDay, int minute) {
        String desc = String.format("您选择的日期是%d时%d分",hourOfDay,minute);
        tv_time.setText(desc);
    }
}

方式二-滚动选择时间

XML文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="5dp">
    <TimePicker
        android:id="@+id/tp_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:timePickerMode="spinner"/>
    <Button
        android:id="@+id/btn_ok"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="确定"/>
    <TextView
        android:id="@+id/tv_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

java代码

public class TimePickerActivity extends AppCompatActivity implements View.OnClickListener{
    private TimePicker tp_time;
    private TextView tv_time;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_time_picker);
        findViewById(R.id.btn_ok).setOnClickListener(this);
        tp_time = findViewById(R.id.tp_time);
        tp_time.setIs24HourView(true);
        tv_time = findViewById(R.id.tv_time);
    }
    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.btn_ok:
                String desc = String.format("您选择的日期是%d时%d分",tp_time.getCurrentHour(),tp_time.getCurrentMinute());
                tv_time.setText(desc);
                break;
        }
    }
}

到此这篇关于Android对话框AlertDialog与DatePickerDialog及TimePickerDialog使用详解的文章就介绍到这了,更多相关Android AlertDialog内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Android对话框AlertDialog与DatePickerDialog及TimePickerDialog使用详解

本文链接: https://www.lsjlt.com/news/168551.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android对话框AlertDialog与DatePickerDialog及TimePickerDialog使用详解
    目录一、提醒对话框AlertDialog二、日期对话框DatePickerDialog第一种-点击选择日期出现日历第二种-滚动选择日期三、时间对话框TimePickerDialog方...
    99+
    2024-04-02
  • Android对话框AlertDialog详解
    目录1.创建AlertDialog1.1 布局文件代码如下:1.2 MainActivity的主要代码如下所示:2.普通提示对话框3.普通列表对话框4.单选对话框5.复选对话框6.自...
    99+
    2024-04-02
  • Android AlertDialog(对话框)实例详解
    目录1.创建AlertDialog1.1 布局文件代码如下:1.2 MainActivity的主要代码如下所示:2.普通提示对话框3.普通列表对话框4.单选对话框4、复选对话框6、自...
    99+
    2024-04-02
  • Android开发中使用TimePickerDialog实现一个时间对话框
    Android开发中使用TimePickerDialog实现一个时间对话框?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先要做的是声明一个日历类的对象: priva...
    99+
    2023-05-31
    android tim timepickerdialog
  • 提示信息控件AlertDialog对话框详解
    目录提要1.基本使用流程2.几种常用的对话框使用示例3.通过Builder的setView()定制显示的AlertDialog提要 本节继续给大家带来是显示提示信息的第三个控件Al...
    99+
    2023-05-15
    AlertDialog 对话框 AlertDialog 提示信息控件
  • Android对话框使用方法详解
    对话框(Dialog)是Android系统在Activity或者其他组件运行过程中提供的一种提示机制。它可以帮助应用完成一些必要的提示功能,同时提供一些与用户交互的功能。 对话框分为...
    99+
    2024-04-02
  • 如何在Android应用中使用AlertDialog实现一个对话框
    本篇文章为大家展示了如何在Android应用中使用AlertDialog实现一个对话框,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、确定对话框AlertDialog.Builder builde...
    99+
    2023-05-31
    android alertdialog roi
  • 提示信息控件AlertDialog对话框怎么使用
    这篇文章主要介绍“提示信息控件AlertDialog对话框怎么使用”,在日常操作中,相信很多人在提示信息控件AlertDialog对话框怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”提示信息控件Ale...
    99+
    2023-07-06
  • 在Android应用中使用AlertDialog对话框可以实现哪些功能
    今天就跟大家聊聊有关在Android应用中使用AlertDialog对话框可以实现哪些功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。常用的Dialog有确认对话框,单选按钮对话框...
    99+
    2023-05-31
    android alertdialog roi
  • android对话框如何使用
    Android对话框可以通过AlertDialog类来使用,以下是一个简单的示例:1. 创建AlertDialog.Builder对...
    99+
    2023-08-23
    android
  • PythonTkinter对话框控件使用详解
    目录文件选择对话框颜色选择对话框消息对话框除了基本的控件之外,Tkinter 还提供了三种对话框控件: 文件选择对话框:filedailog 颜色选择对话框:colorchooser...
    99+
    2024-04-02
  • Android对话框AlertDialog.Builder如何使用
    AlertDialog是Android系统中常用的对话框,用于显示一些提示信息或者获取用户的输入。以下是使用AlertDialog....
    99+
    2023-08-16
    Android
  • 在Android应用中AlertDialog的点击按钮无法关闭对话框如何解决
    在Android应用中AlertDialog的点击按钮无法关闭对话框如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。这里的问题:当我点击确定按钮,也就是 ...
    99+
    2023-05-31
    alertdialog android roi
  • 详解Android Dialog对话框的五种形式
    Android中的对话框形式大致可分为五种:分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,自定义对话框。在实际开发中,用系统的对话框会很少,因为太丑了,美工不愿意,多是使用自定义对话框。当然学会系统的,自定义就简单了...
    99+
    2023-05-31
    android dialog 对话框
  • Android对话框如何使用方法
    Android中对话框的使用方法有以下几种:1. 使用AlertDialog.Builder创建对话框```javaAlertDia...
    99+
    2023-08-08
    Android
  • Vue对话框组件使用方法详解
    本文实例为大家分享了Vue对话框组件的使用,供大家参考,具体内容如下 效果如下图所示:(整体样式模仿ant-design-vue Modal样式,同时阴影覆盖浏览器窗口) ①创建组...
    99+
    2024-04-02
  • Android中如何使用系统对话框
    Android中如何使用系统对话框,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。目录一、系统对话框的几种类型与实现在项目的实际开发中,用到的系统对话框几乎是没有的。原因大概包含...
    99+
    2023-05-30
    android
  • Android中如何使用时间对话框
    这篇文章将为大家详细讲解有关Android中如何使用时间对话框,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、简介二、方法1)显示TimePickerDialog方法新建TimePicke...
    99+
    2023-05-30
    android
  • Android Studio使用自定义对话框效果
    Android Studio基础使用自定义对话框,供大家参考,具体内容如下 兼容低版本的APP运行 第一步:新建新的空白activity,布局XML设置如下 该APP的启动界面ac...
    99+
    2024-04-02
  • Android如何自定义升级对话框示例详解
    前言本文主要给大家介绍了关于Android自定义升级对话框的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。实现的效果如下所示其实这也只是一个DialogFragment 而已,重点只是在于界面的设计想要使用做出这...
    99+
    2023-05-30
    android 自定义 升级对话框
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作