美文网首页
安卓基础学习 Day06 |对话框

安卓基础学习 Day06 |对话框

作者: Y__W | 来源:发表于2021-02-27 14:08 被阅读0次

目录
一、概述
二、常见对话框
(一)提示对话框
(二)进度对话框
补充
1、内容参考自B站安卓相关视频以及网络。
2、内容如果有不对的,希望可以指出或者补充。
3、新知识。
4、主要是测试用法,之后再补充完善。

一、概述

对话框(Dialog):也是程序与用户交互的一种方式,通常用于显示当前程序提示信息以及相关说明,以小窗口形式展现(弹出)。

主要分为以下几类:
AlertDialog :警告对话框(提示对话框)。
ProgressDialog:进度对话框。
DatePickerDialog:日期选择对话框。
TimerPickerDialog:时间选择对话框。
自定义对话框。

二、常见对话框

对话框基本可以分为三部分,标题,内容,以及确认取消按钮。

都是在MainActivity.java文件中测试的。
(一)提示对话框

1、普通对话框

① 编写代码如下。

注:setPositiveButton一般用于确定按钮,setNegativeButton一般用于取消按钮。

   //普通对话框
        AlertDialog dialog = new AlertDialog.Builder(this)
                //弹出框的标题
                .setTitle("这是一个普通对话框")
                //提示的内容信息
                .setMessage("是否退出")
                //标题的图标
                .setIcon(R.mipmap.ic_launcher)

                //添加确认、取消按钮+提示信息
                .setPositiveButton("是", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        //提示信息
                        Toast.makeText(MainActivity.this, "已退出",
                                Toast.LENGTH_SHORT).show();
                    }
                })
                .setNegativeButton("否", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "已取消",
                                Toast.LENGTH_SHORT).show();
                    }
                })
                .create();//确定创建

        dialog.show();//显示对话框

② 效果如下。


20210112145822208.gif

2、单选对话框

这里的内容部分就是单选按钮了,所以不可以再设置setMessage,否则会将选项给覆盖掉。
① 编写代码如下。

 //单选对话框
       AlertDialog dialog2 = new AlertDialog.Builder(this)
               .setTitle("请选择您的性别")
               .setIcon(R.mipmap.ic_launcher)
               .setPositiveButton("确定",null)
               //checkedItem值为0则是默认选中第一个按钮
               .setSingleChoiceItems(new String[]{"男", "女"}, -1,null)
               .create();
       dialog2.show();

② 效果如下。


20210112151937847.png

3、多选对话框

① 编写代码如下。

    //多选对话框
    AlertDialog dialog3 = new AlertDialog.Builder(this)
            .setTitle("请选择您喜欢的猫咪品种")
            .setIcon(R.mipmap.title)
            .setPositiveButton("确定",null)

            .setMultiChoiceItems(new String[]{"布偶猫", "缅因猫", "波斯猫", "挪威森林猫"},null, null)
            .create();
    dialog3.show();

② 效果如下。


20210112151140324.png

(二)进度对话框

① 编写代码如下。

    //进度条对话框
    ProgressDialog progressDialog = new ProgressDialog(this);
    progressDialog.setTitle("这是一个进度条对话框");
    progressDialog.setIcon(R.mipmap.ic_launcher);
    progressDialog.setMessage("正在加载猫咪资源中,请稍等");
    //进度条的样式(系统提供) 默认是个圆圈
    progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    progressDialog.show();

② 效果如下。


2021011215092234.png

补充

1.改变对话框大小

LayoutParams lp = dialog.getWindow().getAttributes();

   lp.width = XXX;
   lp.height = xxx;想咋改就咋改

2.取消对话框标题

首先在 values/Style.xml文件中加入以下代码(如果没有该文件就创建一个XML名为Style.xml)

<!--重写系统弹出Dialog -->
     < style  name = "myDialogTheme"  parent = "android:Theme.Dialog" >
         < item  name = "android:windowFrame" >@null</ item >
         < item  name = "android:windowIsFloating" >true</ item >
         < item  name = "android:windowIsTranslucent" >false</ item > 
         < item  name = "android:windowNoTitle" >true</ item > <!--除去title-->
         < item  name = "android:windowContentOverlay" >@null</ item > 
         < item  name = "android:backgroundDimEnabled" >false</ item >
         < item  name = "android:windowBackground" >@null</ item > <!--除去背景色-->

</ style >

去掉背景色边框也就去掉了,在你的层中设置背景色就可以了

第二步在AndroidManifest.xml中在你注册activity中加入android:theme="@style/myDialogTheme" 这个名就是上面的样式名称

<activity android:name=".LoginDialog" android:theme="@style/myDialogTheme" android:screenOrientation="portrait"/>

弹出层方法

Intent intent=new Intent(Detail_Goods.this,LoginDialog.class);
startActivity(intent);

相关文章

  • 安卓基础学习 Day06 |对话框

    目录一、概述二、常见对话框(一)提示对话框(二)进度对话框补充1、内容参考自B站安卓相关视频以及网络。2、内容如果...

  • 长沙华瑞计算机学校零基础如何学习安卓软件开发

    零基础如何学习安卓软件开发?安卓前景怎么样?①Ja‌‌va基础知识 ②Linux基础知识 ③数据库基础知识 ④网络...

  • 第一节课 笔记

    第一节课,学习了安卓的一些基础、概念和基础构架。分析了安卓程序中各文件夹存放的东西和意义。 一、学习了安卓的系统构...

  • 安卓自定义View教程-1

    基础篇 安卓自定义View基础 - 坐标系 安卓自定义View基础 - 角度弧度 安卓自定义View基础 - 颜色...

  • 学习自定义View的一些文章

    安卓自定义View基础:坐标系 安卓自定义View基础:角度弧度 安卓自定义View基础:颜色 Android自定...

  • React Native组件学习 Alert(ES6)

    不管iOS或安卓提示对话框还是很简单的,这个组件的使用很简单,小萌就简单的说一说 iOS和安卓中提示对话框用的还是...

  • Android(一)--如何学习安卓

    一、java基础 安卓是用java来编写的,所以java对安卓的重要性不言而喻了,但做安卓开发学会安卓基础部分基本...

  • Day 11

    通过越来越深入学习安卓,感觉Java语言还是要好好学,毕竟安卓语言还是要有Java基础的。

  • Flutter之Dialog 对话框各种用法

    前言: 各位同学大家好 ,相信移动端(安卓, iOS )和前端的同学都有使用过dialog对话框 ,移动端(安卓 ...

  • AlertDialog中的Builder模式

    序言 AlertDialog是安卓系统中常用的对话框,它采用Builder设计模式,将对话框的创建和表现显示分离。...

网友评论

      本文标题:安卓基础学习 Day06 |对话框

      本文链接:https://www.haomeiwen.com/subject/pdxifltx.html