Android User Interface2:Dialog&移动终端软件开发课程&StudyAccount3 2018.9.23

1.提示对话框

提示对话框

  • 界面
    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="提示对话框"
        android:onClick="onDialogClick1"/>
  • 主方法
 public void onDialogClick1(View v){//使用提示对话框实现退出程序的提示
        new AlertDialog.Builder(MainActivity.this)//设置相关属性,需要在当前活动中
                       .setIcon(android.R.drawable.alert_dark_frame)//设置图标
                       .setTitle("注意!!!" )//设置标题
                       .setMessage("确定要退出吗???")//设置内容
                       .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                finish();//关闭当前活动
                            }
                        })
                       .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {

                            }
                       })
                       .create().show();

    }

2.单选对话框

单选对话框

  • 界面
    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="单选对话框"
        android:onClick="onDialogClick2"/>
  • 主方法
    public void onDialogClick2(View v){
        final String[] items={"男","女","F","M"};//准备数据源
        AlertDialog dialog=new AlertDialog.Builder(this)
                                          .setTitle("单选对话框")
                                          .setIcon(R.drawable.cat_small)
                                          .setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
                                              @Override
                                              public void onClick(DialogInterface dialog, int which) {
                                                    Toast.makeText(MainActivity.this,items[which],Toast.LENGTH_SHORT).show();
                                                    dialog.dismiss();
                                              }
                                          })
                                          .create();
        dialog.show();
    }

3.复选对话框

多选对话框

  • 界面
    <Button
        android:id="@+id/button3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="复选对话框"
        android:onClick="onDialogClick3"/>
  • 主方法
    public void onDialogClick3(View v){
            final String[] items3={"北京","上海","广州","深圳","天津","保定"};
            AlertDialog dialog=new AlertDialog.Builder(this)
                                              .setTitle("多选对话框")
                                              .setIcon(R.drawable.cat_small)
                                              .setPositiveButton("确定",null)
                                              .setNegativeButton("取消",null)
                                              .setMultiChoiceItems(items3, null, new DialogInterface.OnMultiChoiceClickListener() {
                                                  @Override
                                                  public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                                                      String itemStr=items3[which];
                                                      Toast.makeText(MainActivity.this,"选择了"+itemStr,Toast.LENGTH_SHORT).show();
                                                                                                        }
                                              })
                                              .create();
            dialog.show();
    }

4.列表对话框

列表对话框在这里插入图片描述

  • 界面
    <Button
        android:id="@+id/button4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="列表对话框"
        android:onClick="onDialogClick4"/>
  • 主方法
    public void onDialogClick4(View v){
        final String[] items4={"北京","上海","广州","深圳","天津","保定"};
        AlertDialog dialog=new AlertDialog.Builder(this)
                                          .setTitle("列表对话框")
                                          .setIcon(R.drawable.cat_small)
                                          .setItems(items4, new DialogInterface.OnClickListener() {
                                              @Override
                                              public void onClick(DialogInterface dialog, int which) {
                                                  Toast.makeText(MainActivity.this,items4[which],Toast.LENGTH_SHORT).show();
                                                  dialog.dismiss();
                                              }
                                          })
                                          .create();
        dialog.show();
    }

5.进度条对话框

进度条对话框

  • 界面
    <Button
        android:id="@+id/button5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="进度条对话框"
        android:onClick="onDialogClick5"/>

  • 主方法
    public void onDialogClick5(View v){
        ProgressDialog pd1=ProgressDialog.show(this,"提示","正在登录中",false,true);
    }

6.日期选择对话框

日期选择对话框

  • 界面
    <Button
        android:id="@+id/button6"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="日期选择对话框"
        android:onClick="onDialogClick6"/>

  • 主方法
    public void onDialogClick6(View v){
        Calendar calendar=Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());//读出当前时间
        int year=calendar.get(Calendar.YEAR);
        int month=calendar.get(Calendar.MONTH);
        final int day=calendar.get(Calendar.DAY_OF_MONTH);
        DatePickerDialog dpd=new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {//当时间被设置后回调的方法
                Toast.makeText(MainActivity.this,year+"年"+month+"月"+day+"日",Toast.LENGTH_SHORT).show();
            }
        },year,month,day);
        dpd.show();
    }

一般的对话框都要显式调用dismiss()方法来回收对话框,在DatePickerDialog对话框中,自带的两个按键的监听中已经默认调用dissmiss()了。

7.时间选择对话框

时间选择对话框

  • 界面
   <Button
        android:id="@+id/button7"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="时间选择对话框"
        android:onClick="onDialogClick7"/>
  • 主方法
    public void onDialogClick7(View v){
        Calendar calendar=Calendar.getInstance();
        new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                Toast.makeText(MainActivity.this,hourOfDay+":"+minute+"!",Toast.LENGTH_SHORT).show();
            }
        },
        calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE),true).show();
    }

8.拖动对话框

拖动对话框
使用步骤如下:
(1)准备一个简单的布局文件,里面设置SeekBar控件;
(2)直接创建Dialog实例对象(Dialog dialog = new Dialog(…));
(3)利用对话框实例将布局文件设置到对话框中(dialog.setContentView(…));
(4)显示对话框dialog .show();
(5)通过对话框实例找到设置进去的控件(SeekBar sbar = dialog .findViewById(seekBar的id));
(6)进行响应的监听sBar.setOnSeekBarChangeListener()。

  • 界面
    <Button
        android:id="@+id/button8"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="拖动对话框"
        android:onClick="onDialogClick8"/>
  • Seek.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView
        android:id="@+id/tv_result"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:layout_below = "@+id/seekBar1"
        android:layout_centerHorizontal = "true"/>

    <SeekBar
        android:layout_width="match_parent"
        android:layout_height="100dip"
        android:id="@+id/seekBar1"/>
</RelativeLayout>
  • 主方法
    public void onDialogClick8(View v){
        Dialog dialog=new Dialog(this);
        dialog.setTitle("拖动对话框");
        dialog.setContentView(R.layout.seek);
        SeekBar sbar=(SeekBar)dialog.findViewById(R.id.seekBar1);
        sbar.setMax(100);
        final TextView tview=(TextView)dialog.findViewById(R.id.tv_result);
        tview.setText("当前进度为:"+sbar.getProgress());
        sbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                tview.setText("设置音量大小为:"+seekBar.getProgress());
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });
        dialog.show();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值