Android 进度,日期,时间对话框实现

本文介绍了一个简单的Android应用程序设计案例,该应用使用了进度对话框、日期对话框和时间对话框。通过XML布局文件和Java代码实现了不同类型的对话框,并展示了如何在按钮点击事件中触发这些对话框。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

界面设计xml

<?xml version="1.0" encoding="utf-8"?>
<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"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <TextView
        android:layout_width="450dp"
        android:layout_height="70dp"
        android:id="@+id/text"/>
    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/button1"
    android:text="@string/button1"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button2"
        android:text="@string/button2"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button3"
        android:text="@string/button3"/>

</LinearLayout>

文本存放Strings.xml

<resources>
    <string name="app_name">ex3_6</string>
    <string name="button1">进度对话框</string>
    <string name="button2">日期对话框</string>
    <string name="button3">时间对话框</string>
</resources>

设计控制文件

package com.example.ex3_6;

import android.app.DatePickerDialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;

public class MainActivity extends AppCompatActivity {
    Button btn1,btn2,btn3;
    TextView txt;
    String str1="";//存放日期
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);//创建用户界面
        btn1=(Button)findViewById(R.id.button1);
        btn2=(Button)findViewById(R.id.button2);
        btn3=(Button)findViewById(R.id.button3);
        txt=(TextView)findViewById(R.id.text);//组件连接
        btn1.setOnClickListener(new mClick());
        btn2.setOnClickListener(new mClick());
        btn3.setOnClickListener(new mClick());//实现按钮监控
    }
    class mClick implements View.OnClickListener {
        int m_year=2012;
        int m_month=0;//month是0-11表示1-12个月
        int m_day=1;
        int m_hour=12,m_minute=1;//定义初值

        public void onClick(View view){
            if(view==btn1){
                ProgressDialog d=new ProgressDialog(MainActivity.this);//创建进度对话框
                d.setTitle("进度对话框");//对话框的标题
                d.setIndeterminate(true);//true表示进度参数采用模糊形式
                d.setMessage("程序正在Loading...");//对话框的文本内容
                d.setCancelable(true);//true表示点击进度条以外的地方可以将对话框关闭
                d.setMax(10);//对话框的进度最大值
                d.show();//显示对话框
            }
            else if(view==btn2){
                DatePickerDialog.OnDateSetListener dateListener=new DatePickerDialog.OnDateSetListener() {//创建用户设置时间后的回调监听器
                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
                        m_year=year;
                        m_month=monthOfYear;
                        m_day=dayOfMonth;
                        str1=String.valueOf(m_year)+"/"+String.valueOf(m_month+1)+"/"+String.valueOf(m_day);
                        txt.setText(str1);
                    }
                };
                DatePickerDialog date =new DatePickerDialog(MainActivity.this,dateListener,m_year,m_month,m_day);//创建日期对话框对象
                date.setTitle("日期对话框");
                date.show();

            }
            else if(view==btn3){
                TimePickerDialog.OnTimeSetListener timeSetListener=new TimePickerDialog.OnTimeSetListener() {//设置时间监听器
                    @Override
                    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                        m_hour=hourOfDay;
                        m_minute=minute;
                        txt.setText(str1+"\n"+m_hour+":"+m_minute);
                    }
                };
                TimePickerDialog d=new TimePickerDialog(MainActivity.this,timeSetListener,m_hour,m_minute,true);
                d.setTitle("时间框");
                d.show();

            }
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值