• 时间日期对话框


    activity_ui2.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"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:orientation="vertical"
        tools:context="com.hanqi.test5.UIActivity2">
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="长按触发上下文菜单"
            android:id="@+id/bt_changan"/>
        <ProgressBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/pb_1"
            android:visibility="gone"/>
        <ProgressBar
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="?android:attr/progressBarStyleHorizontal"
            android:max="100"
            android:progress="50"
            android:secondaryProgress="70"
            android:id="@+id/pb_2"
            android:visibility="gone"/><!--max:最大值   progress:当前进度  secondaryProgress:第二进度值-->
        <!--<ProgressBar-->
            <!--android:layout_width="wrap_content"-->
            <!--android:layout_height="wrap_content"-->
            <!--style="@android:style/Widget.ProgressBar.Small"/>-->
        <!--<ProgressBar-->
            <!--android:layout_width="wrap_content"-->
            <!--android:layout_height="wrap_content"-->
            <!--style="@android:style/Widget.ProgressBar.Large"/>-->
        <!--<ProgressBar-->
            <!--android:layout_width="wrap_content"-->
            <!--android:layout_height="wrap_content"-->
            <!--style="@android:style/Widget.ProgressBar.Large.Inverse"/>-->
        <!--<ProgressBar-->
            <!--android:layout_width="wrap_content"-->
            <!--android:layout_height="wrap_content"-->
            <!--style="@android:style/Widget.ProgressBar.Inverse"/>&lt;!&ndash;不可拖动&ndash;&gt;-->
        <!--<Switch
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Switch"
            android:id="@+id/switch1"
            android:layout_gravity="center_horizontal" />
    -->
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/vipflower"
            android:id="@+id/iv_vip"
            android:visibility="gone"/>
        <SeekBar
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:max="100"
            android:progress="100"
            android:id="@+id/sb_1"/><!--可拖动-->
        <RatingBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:numStars="7"
            android:rating="3.5"
            android:isIndicator="true"
            android:visibility="gone"/>
        <!--星星进度条 numStars:星星数目 rating:当前默认星级 isIndicator:是否允许修改星级:true为不可修改-->
    
        <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="点击触发弹出普通对话框"
        android:onClick="pt_OnClick"
        />
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="点击触发弹出单选对话框"
            android:onClick="dx_OnClick"
            />
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="点击触发弹出多选对话框"
            android:onClick="duox_OnClick"
            />
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="点击触发弹出自定义对话框"
            android:onClick="zdy_OnClick"
            />
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="点击触发弹出进度条对话框"
            android:onClick="jdt_OnClick"
            />
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="点击触发弹出水平进度条对话框"
            android:onClick="jdt1_OnClick"
            />
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="点击触发日期对话框"
            android:onClick="rq_OnClick"
            />
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="点击触发时间对话框"
            android:onClick="sj_OnClick"
            />
    </LinearLayout>

    UIActivity2.java

    package com.hanqi.test5;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.DatePickerDialog;
    import android.app.ProgressDialog;
    import android.app.TimePickerDialog;
    import android.content.DialogInterface;
    import android.os.Bundle;
    import android.view.ContextMenu;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.view.SubMenu;
    import android.view.View;
    import android.widget.Button;
    import android.widget.DatePicker;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.ProgressBar;
    import android.widget.SeekBar;
    import android.widget.TimePicker;
    import android.widget.Toast;
    
    import java.util.Calendar;
    
    public class UIActivity2 extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_ui2);
            Button bt_changan = (Button)findViewById(R.id.bt_changan);
            bt_changan.setOnCreateContextMenuListener(this);/*this代表当前Activity,实现了这个接口*/
    
            //进度条
            //有final时,生命周期长,不加final的话就只是当前方法的,加final可以延长生命周期,或者定义成员变量
            final ProgressBar pb_1 =(ProgressBar)findViewById(R.id.pb_1);
            final ProgressBar pb_2 =(ProgressBar)findViewById(R.id.pb_2);
            final SeekBar sb_1 =(SeekBar)findViewById(R.id.sb_1);
    
            sb_1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
                //onProgressChanged进度条变化,进度改变就会触发
                @Override
                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                    //pb_2.setProgress(seekBar.getProgress());
                    ImageView iv_vip = (ImageView)findViewById(R.id.iv_vip);
                    //iv_vip.setAlpha(0.2f);透明度值是0-255
                    iv_vip.setImageAlpha(progress * 255 /100);
                }
    
                //onStartTrackingTouch开始拖动
                @Override
                public void onStartTrackingTouch(SeekBar seekBar) {
    
                }
    
                //onStopTrackingTouch停止拖动
                @Override
                public void onStopTrackingTouch(SeekBar seekBar) {
                    pb_2.setProgress(seekBar.getProgress());
    
                    if (seekBar.getProgress() == seekBar.getMax())
                    {
                        //设置不可见
                        pb_1.setVisibility(View.GONE);
                        /*INVISIBLE不可见(占空间) VISIBLE可见 GONE不可见(不占空间)*/
                    }
                    else
                    {
                        pb_1.setVisibility(View.VISIBLE);
                    }
    
    
                }
            });
    
        }
    
        @Override
        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
            menu.add(0, 1, 0, "添加");
            menu.add(0, 2, 1, "修改");
            menu.add(0, 3, 2, "删除");
            SubMenu m = menu.addSubMenu(0, 4, 3, "子菜单");
    
            m.add(0,41,0,"子菜单项1");
            m.add(0, 42, 1, "子菜单项2");
            m.add(0,43,2,"子菜单项3");
            m.add(0,44,3,"子菜单项4");
    //        MenuInflater mi =getMenuInflater();
    //        mi.inflate(R.menu.mymenu,menu);
            super.onCreateContextMenu(menu, v, menuInfo);
        }
    
        @Override
        public boolean onContextItemSelected(MenuItem item) {
            switch (item.getItemId())
            {
                case R.id.it_2:
                    Toast.makeText(UIActivity2.this, "触发了添加1功能", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.it_1:
                    Toast.makeText(UIActivity2.this, "触发了删除1功能", Toast.LENGTH_SHORT).show();
                    break;
            }
            return super.onContextItemSelected(item);
        }
    
        @Override
        //重写  创建选项菜单的方法
        public boolean onCreateOptionsMenu(Menu menu) {
    
            //添加菜单项
            //纯编码方式
    //        menu.add(0,1,0,"添加");
    //        menu.add(0,2,2,"删除");
    //        menu.add(0,3,1,"修改");
    
            //加载菜单文件方式
            //1.获取菜单加载器
            MenuInflater mi =getMenuInflater();
            mi.inflate(R.menu.mymenu, menu);
            return super.onCreateOptionsMenu(menu);
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
    
            //Toast.makeText(UIActivity2.this, "选中的菜单项是" + item.getTitle(), Toast.LENGTH_SHORT).show();
            //根据菜单项的不同响应不同功能
            switch (item.getItemId())
            {
                case 1:
                    Toast.makeText(UIActivity2.this, "触发了添加功能", Toast.LENGTH_SHORT).show();
                    break;
                case 2:
                    Toast.makeText(UIActivity2.this, "触发了删除功能", Toast.LENGTH_SHORT).show();
                    break;
                case 3:
                    Toast.makeText(UIActivity2.this, "触发了修改功能", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.it_2:
                    Toast.makeText(UIActivity2.this, "触发了添加1功能", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.it_1:
                    Toast.makeText(UIActivity2.this, "触发了删除1功能", Toast.LENGTH_SHORT).show();
                    break;
            }
    
    
            return super.onOptionsItemSelected(item);
        }
        public void pt_OnClick(View v)
        {
            //构建普通对话框
            //对话框的构建器
    //        AlertDialog.Builder ab = new AlertDialog.Builder(this);
    //        ab.setTitle("数据删除");
    //        ab.setMessage("你确定要删除吗?");
    //        //负面按钮
    //        ab.setNeutralButton("取消", null);
    //        //正面按钮
    //        ab.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    //            @Override
    //            public void onClick(DialogInterface dialog, int which) {
    //                Toast.makeText(UIActivity2.this, "删除成功", Toast.LENGTH_SHORT).show();
    //            }
    //        });
            //显示
    //        ab.show();
            //方法链调用
            new AlertDialog.Builder(this)
                    .setTitle("确认保存")
                    .setMessage("你真的要保存吗?")
                    .setNeutralButton("取消",null)
                    .setPositiveButton("保存",null)
                    .show();
    
    
        }
        public void dx_OnClick(View v)
        {
            final String[] str_color = {"红","绿","蓝","灰"};
            new AlertDialog.Builder(this)
                    .setTitle("请选择颜色")
                    .setSingleChoiceItems(str_color, 0, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(UIActivity2.this, "选中了" + str_color[which], Toast.LENGTH_SHORT).show();
    
                           //移除对话框
                            //dialog.dismiss();
                        }
                    })
                    .setNeutralButton("确定",null)
                    .setPositiveButton("取消",null)
                    .show();
    
        }
        public void duox_OnClick(View v)
        {
            final String[] str_color = {"红","绿","蓝","灰"};
            final boolean[] bl_xz = {true,false,false,true};
            new AlertDialog.Builder(this)
                    .setTitle("请选择颜色")
                    .setMultiChoiceItems(str_color, bl_xz, new DialogInterface.OnMultiChoiceClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                            if (isChecked) {
                                Toast.makeText(UIActivity2.this, str_color[which] + "被选中", Toast.LENGTH_SHORT).show();
    
                            } else {
                                Toast.makeText(UIActivity2.this, str_color[which] + "取消选中", Toast.LENGTH_SHORT).show();
    
                            }
                        }
                    })
                    .setNeutralButton("确定", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    //遍历数组
                                    for (boolean b : bl_xz) {
                                        try {
                                            Thread.sleep(100);
                                        } catch (Exception ex) {
    
                                        }
                                        Toast.makeText(UIActivity2.this, "值 = " + b, Toast.LENGTH_SHORT).show();
                                    }
                                }
                            }
    
                    )
                                .
    
                        show();
    
                    }
    
        public void zdy_OnClick(View v)
        {
           //1.获取加载器
            //LayoutInflater lif = getLayoutInflater();
           //2.用加载器加载文件
            //final View v_1 = lif.inflate(R.layout.loginlayout, null);
    
            new AlertDialog.Builder(this)
    
                   .setView(R.layout.loginlayout)
                    //.setView(v_1)
                    .setNeutralButton("取消", null)
                    .setPositiveButton("登陆", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            AlertDialog al = (AlertDialog) dialog;
                            //找不到时需要指定范围,可以是视图或者对话框(5.0以上支持)
                            //处理数据
                            EditText et_username = (EditText) al.findViewById(R.id.et_username);
                            Toast.makeText(UIActivity2.this, "用户名 = " + et_username.getText(), Toast.LENGTH_SHORT).show();
    
                        }
                    })
                    .setCancelable(false) //构造器用的方法:设置是否能点击其他地方让对话框消失
                    .show();
        }
        public void jdt_OnClick(View v)
        {
            final ProgressDialog pd =new ProgressDialog(this);
            pd.setMessage("正在加载中,请稍候...");
           // pd.setTitle("进度对话框");
            pd.show();
            // 创建Thread实例 重写run方法 启动多线程
    
            new Thread()
            {
                @Override
                public void run() {
                    super.run();
                    try
                    {
                        Thread.sleep(3000);
                    }
                    catch (Exception e)
                    {
    
                    }
                    pd.dismiss(); //关闭
    
                    //子线程不能直接操作 主线程(UI线程)
                    //  1.可以用Handler进行线程间通讯
                    //  2.runOnUiThread Activity里面提供的方法
                    //Runnable:接口  Thread实现了run方法
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
    
                            Toast.makeText(UIActivity2.this, "加载完成", Toast.LENGTH_SHORT).show(); //写在新线程里面
                        }
                    });
    
    
                }//重写run方法,利用start启动多线程
            }.start();
    
        }
        public void jdt1_OnClick(View v)
        {
            final ProgressDialog pd =new ProgressDialog(this);
            pd.setCanceledOnTouchOutside(false);  //设置关闭方式
            pd.setMessage("请稍候...");
            pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    
            pd.show();
            // 创建Thread实例,实现Runnable接口,start()启动多线程
            new Thread(new Runnable() {
                @Override
                public void run() {
                    for (int i = 0;i<=pd.getMax();i++)
                    {
                    try
                    {
                        Thread.sleep(100);
                    }
                    catch (Exception e) {
                    }
                        pd.setProgress(i);//设置当前值
                    }
                    pd.dismiss(); //关闭
                }
            }).start();
    //        new Thread()
    //        {
    //            @Override
    //            public void run() {
    //                super.run();
    //                for (int i = 0;i<=pd.getMax();i++)
    //                {
    //                try
    //                {
    //                    Thread.sleep(100);
    //                }
    //                catch (Exception e) {
    //                }
    //                    pd.setProgress(i);//设置当前值
    //                }
    //                pd.dismiss(); //关闭
    //
    //            }
    //        }.start();
    
        }
        public void rq_OnClick (View v)
        {
            //获取当前日期  java提供了获取当前日期的类:Calender
            Calendar c = Calendar.getInstance();  //设计模式的一种:单例模式:整个系统里面只有一个实例
    
            DatePickerDialog dpd = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                    Toast.makeText(UIActivity2.this, year + "-" + (monthOfYear +1) + "-" + dayOfMonth, Toast.LENGTH_SHORT).show();
                }
            },c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH));
    
            dpd.show();
        }
        public void sj_OnClick (View v)
        {
            //获取当前日期  java提供了获取当前日期的类:Calender
            Calendar c = Calendar.getInstance();  //设计模式的一种:单例模式:整个系统里面只有一个实例
    
            TimePickerDialog tpd =new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                    Toast.makeText(UIActivity2.this, hourOfDay + ":" + minute, Toast.LENGTH_SHORT).show();
                }
            },c.get(Calendar.HOUR),c.get(Calendar.MINUTE),true);
            tpd.show();
        }
    
    
    
    }

    效果图:

  • 相关阅读:
    hdu 3666 差分约束系统
    hdu 1198农田灌溉
    常微分方程(阿諾爾德) Page 45 相空間,相流,運動,相曲線 註記
    高等微積分(高木貞治) 1.4節 例2
    常微分方程(阿諾爾德) Page 45 相空間,相流,運動,相曲線 註記
    解析函數論 Page 29 命題(2) 函數模的有界性
    高等微積分(高木貞治) 1.4節 例2
    解析函數論 Page 29 命題(1) 有界閉集上的一致連續性
    解析函數論 Page 29 命題(3) 模的下界的可達性
    解析函數論 Page 29 命題(2) 函數模的有界性
  • 原文地址:https://www.cnblogs.com/fangchongyan/p/5375182.html
Copyright © 2020-2023  润新知