精华内容
下载资源
问答
  • 11 安卓各种弹窗总结和代码例子

    万次阅读 2016-09-05 20:22:42
    用户用于做出决定 ,或者添加额外信息 不填充屏幕 只有被触发才执行经常使用的对话框 普通的对话框 AlertDialog AlertDialog.Builder 带进度条的对话框 ProgressDialog ProgressDialog a = new ProgressDialog...

    对话框 Dialog

    • 用户用于做出决定 ,或者添加额外信息 不填充屏幕 只有被触发才执行

      1. 经常使用的对话框

        1. 普通的对话框 AlertDialog
          • AlertDialog.Builder
        2. 带进度条的对话框 ProgressDialog
          • ProgressDialog a = new ProgressDialog(参数);
        3. 日期选择对话框 DatePickerDialog
          • DatePickerDialog dialog = new DatePickerDialog()
        4. 时间选择对话框 TimePickerDialog
          • TimePickerDialog dialog = new TimePickerDialog(参数)
        5. 自定义的对话框
          • AlertDialog.Builder buidler = new AlertDialog.Builder(this); buidler.setView(view);
      2. 其他的对话框:

        1. 普通列表对话框
          • AlertDialog.Builder
          • setSingleChoiceItems 和单元不同的是没有小框勾选
        2. 单选列表对话框
          • AlertDialog.Builder
          • setSingleChoiceItems 单选有选框
        3. 多选列表对话框
          • AlertDialog.Builder
          • setMultiChoiceItems 可以多选
        4. 适配器(Adapter)对话框
          • AlertDialog.Builder


    生成方法结构图

    生成方法结构图



    每个弹窗代码:

    • 普通的对话框
    package com.fmy.daialog1;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.content.DialogInterface;
    import android.content.DialogInterface.OnClickListener;
    import android.os.Bundle;
    import android.view.View;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
        public void  click(View v) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setIcon(R.drawable.ic_launcher);
            builder.setPositiveButton("确定", new OnClickListener() {
    
                @Override
                public void onClick(DialogInterface dialog, int which) {
    //                  finish();
                }
            });
            builder.setNegativeButton("取消", null);
            builder.setTitle("是否关闭");
            builder.setMessage("确定关闭");
            builder.show();
        }
    
    
    }
    • 带进度条的对话框
    package com.fmy.dialog2;
    
    import android.app.Activity;
    import android.app.ProgressDialog;
    import android.os.Bundle;
    import android.view.View;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
        public void click(View v){
            ProgressDialog a = new  ProgressDialog(this);
            a.setIcon(R.drawable.ic_launcher);
            a.setTitle("我就是个进度条");
            a.setMessage("正在下");
            a.setProgressStyle(ProgressDialog.STYLE_SPINNER);
            a.setCancelable(false);
            a.show();
            a.setProgress(99);
    
    
        }
    
    }
    
    • 日期选择对话框
    package com.fmy.dialon;
    
    import java.util.Calendar;
    
    import android.app.Activity;
    import android.app.DatePickerDialog;
    import android.app.DatePickerDialog.OnDateSetListener;
    import android.app.TimePickerDialog;
    import android.app.TimePickerDialog.OnTimeSetListener;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.DatePicker;
    import android.widget.TimePicker;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
    
        public void click1(View v) {
    
            Calendar calendar = Calendar.getInstance();
            int year = calendar.get(calendar.YEAR);
            int month = calendar.get(calendar.MONTH);
            int day = calendar.get(calendar.DAY_OF_MONTH);
            DatePickerDialog dialog = new DatePickerDialog(this, new OnDateSetListener() {
    
                @Override
                public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
    
    
                }
            }, year, month, day);
            dialog.show();
        }
    }
    
    • 时间选择对话框
    package com.fmy.dialon;
    
    import java.util.Calendar;
    
    import android.app.Activity;
    import android.app.DatePickerDialog;
    import android.app.DatePickerDialog.OnDateSetListener;
    import android.app.TimePickerDialog;
    import android.app.TimePickerDialog.OnTimeSetListener;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.DatePicker;
    import android.widget.TimePicker;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
        public void click2(View v) {
    
            TimePickerDialog dialog = new TimePickerDialog(this, new OnTimeSetListener() {
    
                @Override
                public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                    // TODO Auto-generated method stub
    
                }
            }, 9    , 1, true);
            dialog.show();
        }
    • 自定义的对话框
    package com.fmy.dialog5;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
        }
    
        public void click(View v) {
            AlertDialog.Builder buidler = new AlertDialog.Builder(this);
            buidler.setTitle("登录");
            LayoutInflater inflater = LayoutInflater.from(this);
            View view = inflater.inflate(R.layout.dialog, null);
            buidler.setView(view);
            buidler.setNegativeButton("取消", null);
            buidler.setPositiveButton("确定", null);
            buidler.show();
        }
    
    }
    
    • 普通列表对话框
    package com.fmy.dialog;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.TimePickerDialog;
    import android.content.DialogInterface;
    import android.content.DialogInterface.OnClickListener;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
    
    
        public void click1(View v) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("请选择");
            builder.setItems(R.array.book, new OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    Toast.makeText(MainActivity.this, "==which==", 0).show();
                }
            });
            builder.create();
            builder.show();
        }
    }
    
    • 单选列表对话框
    package com.fmy.dialog;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.TimePickerDialog;
    import android.content.DialogInterface;
    import android.content.DialogInterface.OnClickListener;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
        public void click2(View v) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("请选择");
    
            builder.setSingleChoiceItems(getResources().getStringArray(R.array.book), 1, new OnClickListener() {
    
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    Toast.makeText(MainActivity.this, "==which==" + which, 0).show();
    
                }
            });
            builder.setPositiveButton("确定", new OnClickListener() {
    
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    Toast.makeText(MainActivity.this, "==which==" + which, 0).show();
                }
            });
            builder.create();
            builder.show();
        }
    • 多选列表对话框
    package com.fmy.fm;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.AlertDialog.Builder;
    import android.content.DialogInterface;
    import android.content.DialogInterface.OnClickListener;
    import android.content.DialogInterface.OnMultiChoiceClickListener;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ArrayAdapter;
    
    public class MainActivity extends Activity {
    
        private String datas[];
        private boolean flags[];
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            datas = getResources().getStringArray(R.array.book);
            flags = new boolean [datas.length];
        }
    
        public void click1(View v) {
    
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
    
            builder.setTitle("你好");
    
            builder.setMultiChoiceItems(datas, flags, new OnMultiChoiceClickListener() {
    
                @Override
                public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                    flags[which] = isChecked;
                }
            });
    
            builder.show();
        }
    
    • 适配器(Adapter)对话框
    package com.fmy.fm;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.AlertDialog.Builder;
    import android.content.DialogInterface;
    import android.content.DialogInterface.OnClickListener;
    import android.content.DialogInterface.OnMultiChoiceClickListener;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ArrayAdapter;
    
    public class MainActivity extends Activity {
    
        private String datas[];
        private boolean flags[];
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            datas = getResources().getStringArray(R.array.book);
            flags = new boolean [datas.length];
        }
    
    
    
        public void click2(View v) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("嘿嘿");
            String [] data = {"嘿嘿","你好不","我很好"};
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.adpater,R.id.tv,data);
            builder.setAdapter(adapter, new OnClickListener() {
    
                @Override
                public void onClick(DialogInterface dialog, int which) {
    
    
                }
            });
            builder.show();
        }
    }
    
    展开全文
  • 在android上,我们可以使用QPython来编写、执行...这个示例是我之前用来读取手机位置信息并作为进一步处理数据的基础脚本。# -*- coding: utf-8 -*-import androidhelperimport timefrom math import radiansdr...

    在android上,我们可以使用QPython来编写、执行Python脚本。它对很多android

    系统函数进行了方便的封装,使用QPython编写功能简单的小程序异常方便。

    这个示例是我之前用来读取手机位置信息并作为进一步处理数据的基础脚本。

    # -*- coding: utf-8 -*-

    import androidhelper

    import time

    from math import radians

    droid = androidhelper.Android()

    droid.startSensingTimed(1, 250)

    droid.startLocating()

    while 1:

    gpsdata = droid.readLocation().result

    s6data = droid.sensorsReadOrientation().result

    if len(gpsdata)>0:

    print gpsdata['gps']['bearing'] #取得Gps导向(bearing)(角度)

    if len(s6data)>0:

    print s6data[0] #取得罗盘方位角(azimuth)(弧度)

    time.sleep(0.5)

    droid.stopLocating()

    droid.stopSensing()

    展开全文
  • 安卓异常捕捉弹窗

    2018-03-28 15:26:37
    安卓异常捕捉器,发生异常后弹出Dialog显示错误信息,可以复制到剪切板后者上传到服务器
  • Toast提示框是一种非模态弹窗,它弹出一个小信息,作为提醒或消息反馈来用,一般用来显示操作结果,或者应用状态的改变。 最常见的Toast提示框为一句简短的描述性文字。考虑到Toast提示框显示的时间较.

    弹窗分为模态弹窗和非模态弹窗两种,两者的区别在于需不需要用户对其进行回应。模态弹窗会打断用户的正常操作,要求用户必须对其进行回应,否则不能继续其它操作行为;非模态弹窗则不会影响用户的操作,用户可以不对其进行回应,非模态弹窗通常都有时间限制,出现一段时间后就会自动消失。

    在这里插入图片描述


    1. Toast 提示框

    Toast提示框是一种非模态弹窗,它弹出一个小信息,作为提醒或消息反馈来用,一般用来显示操作结果,或者应用状态的改变。
    最常见的Toast提示框为一句简短的描述性文字。考虑到Toast提示框显示的时间较短(一般只有几秒种)、占用区域不大,它很容易被用户忽略,所以Toast不适合承载过多的文字和重要信息。


    1. Dialog 对话框

    一般情况下Dialog由标题、信息内容和功能按钮组成,只有当用户点击了某个功能按钮后弹窗才会消失,App随即执行该功能操作,进入相应的功能流程。
    当用户进行了敏感操作,或者当App内部发生了较为严重的状态改变,这种操作和改变会带来影响性比较大的行为结果,在该结果发生前应以Dialog的弹窗形式告知用户且让用户进行功能选择。


    若Dialog对话框出现三个或以上的功能按钮,将会增加用户的功能选择负担,所以需要使用多个功能按钮选择的时候请考虑使用Actionbar。

    1. Actionbar 功能框

    Actionbar功能框可以看成是Dialog的一种延伸设计,两者都是模态弹窗,用户必须进行回应,否则弹窗不会消失,用户无法继续其它操作。Actoinbar比Dialog拥有更多的功能按钮,提供给用户更多的功能选择
    当功能按钮数量很多的时候,文字列表的形式不适合显示,此时可以用图形加文字描述排列的形式来进行展示; 在安卓系统中,Actionbar还经常被设计成“选择列表框”(用选项代替功能按钮,比如安卓版的微信App中让用户进行性别选择)


    1. Snackbar 提示对话框

    制化设计开发),它也是一种非模态弹窗,同时拥有Toast和Dialog的特点,不会打断用户正常的操作流程,它除了可以告诉用户信息内容,还可以与用户进行对话交互(用户可以点击功能按钮进行回应)。
    Snackbar跟Toast一样是有时间限制的,即使用户不进行回应,弹窗出现一段时间后也会自动消失。与Taost相似,Snackbar弹出一个小信息,作为提醒或消息反馈来用,一般用来显示操作结果,另外可以提供一个功能按钮给用户选择使用。


    我们在使用弹窗的时候要尽量克制,要考虑信息内容的必要性和目的性,来选择是否使用弹窗和使用哪种方式和样式的弹窗。

    展开全文
  • 如果您在使用AirPods Pro 遇到不出现弹窗的问题,请参考如下信息,希望对大家有所帮助。AirPods Pro配对无弹窗怎么办?如果您是安卓用户,也可以使用 AirPods Pro,降噪和通透模式功能正常,但可能不会出现弹窗。...

    苹果在近日发布了具备主动降噪功能的AirPods Pro,受到不少用户的欢迎。如果您在使用AirPods Pro 遇到不出现弹窗的问题,请参考如下信息,希望对大家有所帮助。

    AirPods Pro配对无弹窗怎么办?

    如果您是安卓用户,也可以使用 AirPods Pro,降噪和通透模式功能正常,但可能不会出现弹窗。

    AirPods Pro 与安卓手机连接方法:

    可以将 AirPods 作为蓝牙耳机与非 Apple 设备搭配使用。但无法使用 Siri,可以使用听/说功能。

    1.在非 Apple 设备上,前往蓝牙设置并确保蓝牙已打开。

    2.先不要拿出耳机,如果已经拿出,请将 AirPods 放入充电盒,打开盒盖。

    3.长按充电盒背面的设置按钮,直到您看到状态指示灯呈白色闪烁。

    4.当您的 AirPods 出现在蓝牙设备列表中时,请选中它们。

    不过,在安卓手机上无法对 AirPods Pro 进行任何设置,例如耳腔贴合测试等均无法实现。如果您有一部安卓手机和一部 iPhone,可以先在 iPhone 上设置好。

    AirPods Pro 成功连接安卓手机后可以正常使用,降噪功能正常,按压耳机柄切换歌曲和降噪模式的功能也正常。

    但 AirPods Pro 连接安卓手机可能会有轻微的延迟,做不到画音完全同步,与在 iPhone 上体验还是有些差距的。

    如果您是 iPhone 用户,但打开 AirPods Pro 盒盖无法看到弹窗,请检查:

    1.请确保 iPhone 蓝牙已经打开,并确保耳机就在手机附近;

    2.如果您没有更新系统(例如停留在 iOS 12),AirPods Pro 可能与系统不兼容导致无弹窗提示,需要先将更新到 iOS 13.2。

    展开全文
  • 实际上,有些时候并不是系统需要我们输入密码,而是来自第三方的钓鱼诈骗信息,用极其相似的界面来迷惑用户,诱导用户输入账号...如果被他人盗用了 Apple ID 帐号和密码,对方可以使用这些信息将手机锁死,或盗刷...
  • 具体来说就是手机QQ对语音消息支持暂停和进度拖动的功能,但是必须要更新至相应的版本才行,大家知道安卓/iOS手机QQ哪个版本有这个功能吗,下面小编就为大家分享QQ语音进度条功能版本信息安卓/iOS手机QQ语音进度条...
  • 实际上,有些时候并不是系统需要我们输入密码,而是来自第三方的钓鱼诈骗信息,用极其相似的界面来迷惑用户,诱导用户输入账号...如果被他人盗用了 Apple ID 帐号和密码,对方可以使用这些信息将手机锁死,或盗刷...
  • 1、效果图 目前最新jar:AMap_Search_V5.7.0_20171229.jar...2、新建个实体类,包含4个参数用来描述点信息 - MarketBean public class MarketBean { /** * 纬度 */ private double latitude; /** * 经度 ...
  • 先说思路吧,想实现自动更新版本,最简单就是获取到应用的包信息,应用版本号,版本名,然后每次登陆的时候从服务器获取当前apk的版本号和版本名,然后进行判断,不一致证明是新版本,弹出dialog 让用户更新,选择...
  • H5 pc端,移动端自定义弹窗模块思路

    千次阅读 2018-05-12 18:23:10
    再一次项目中要求 在提交时 要让客户核对下信息 并且要去输入密码 然而再用模块时发现没有合适的 安卓的我们可以写 可是没人写ios 最后只有走H5 JS这条路线 因为这个不论是安卓还是ios都可用 当时我就想如果我弄一个...
  • 然后突然点到上面的相关信息。 这里点击性能窗口 安卓的会不太一样,这里点击打开监控面板。 然后提示,重新打开测试小程序。如果觉得性能窗口碍眼,可以关闭性能窗口 如果多次测试时,发现又没有弹框了...
  • PHP 多坐席客服聊天系统源码完美定制版 带原生 app+视频教程,支持手机自适应网页单独聊天+pc 端右下角弹窗+app 在线聊天+对接微信公众号等多种方式满足你的需求。 搭建教程 1,宝塔 liunx 和 win 系统,环境 ...
  • 这个问题在安卓和苹果Safari上不会出现。 **开发语言:**Java + jQuerymobile **框架:**Cordova **相关代码:** ![图片说明](https://img-ask.csdn.net/upload/201907/02/1562062551_239756.png) !...
  • 本文介绍了anr发生之后,从AMS的MainHandler接受到超时的消息,到调用mUiHandler进行未响应弹窗之间系统进行anr信息搜集的过程。 调用链: AMS.MainHandler.handleMessage() -----> ActiveServices.service...
  • 由于Aria涉及到文件和网络的操作,因此需要你在manifest文件中添加以下权限,如果你希望在6.0以上的系统中使用Aria,那么你需要动态向安卓系统申请文件系统读写权限,如何使用安卓系统权限 <uses-permission ...
  • 这是我们参加比赛的项目的安卓端。主要实现接受基于人脸识别的设备传送过来的信息,之后会产生弹窗显示。也具有查看已接受的信息的功能。板子用的是A9,HC08.希望对大家有所帮助
  • 安卓短信是“比系统自带短信功能更好用的”免费短信增强软件,他荣获2011-2012中国最佳移动应用产品大奖。酷炫的来信弹窗、摇摇换肤、网络铃声下载、定时短信、情景式表情聊天乐趣不断;私密箱,黑名单贴心保护你的...
  • 一般的处理就是进入应用就弹窗通知用户有版本更新,弹窗可以没有取消按钮并不能取消。这样用户就只能选择更新或者关闭应用了,当然也可以添加取消按钮,但是如果用户选择取消则直接退出应用。 非强制更新 一般的...
  • 安卓自动更新,静默更新,可以在通知栏里显示更新下载进度,几行代码快速实现Android下载更新 之前用的友盟更新,但是友盟最近自动跟新业务要停止服务了,所以就自己写了这套自动更新的代码 使用起来特别简单,几行...
  • 安卓学习历程-第一天

    2017-06-19 18:08:32
    1.java环境变量搭建 2.android studio安装 3.简单的安卓程序 功能:输入框输入信息,新建新的窗口显示输入信息 知识点:(两个窗口的信息传递)  每个res/layout/中的.xml布局文件对应一个.... 弹窗
  • * 阻止检测升级联网请求,下载释放广告程序收集相关信息推送广告行为 * 可选:云计算候选、词库更新及账户配置同步、工具箱和扩展管理器组件 * 删除:所有搜狗广告程序(广告获取模块、搜狐新闻弹窗、勋章推荐弹窗)...
  • 北京时间6月4日凌晨 1 点,苹果将举行 WWDC19 大会,无疑,...之所以要放弃掉音量弹窗,据说是因为收到较多用户反馈,如图所示,目前的音量提示窗硕大、且默认显示在系统中央位置,会遮挡较多有效信息。据称苹果收到...
  • 安卓手机硬改神器.zip

    2021-03-13 18:21:19
    此软件为硬改工具,修改过后手机可以在设置里面查看修改属性信息或者手机拨号输入*#06#查看 硬改的是底层数据,随便刷机恢复出厂改过得数据是什么就是什么,不会改变除非重新修改 改机过程需要手机打开USB调试模式...
  • 安卓开发之头像的修改与拍照

    千次阅读 2017-12-17 15:53:57
    个人信息页面 弹窗页面   图库选择之后 拍照之后 1.个人信息xml xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tool
  • 原生和html的优缺点就不多说了,有些特定条件...接下来我要分享的是html调用原生的弹窗和位置信息安卓原生调用JS中的方法。 xml很简单: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  • 但是最后不能将picker到的时间信息传递给fragment而且弹窗弹出的时间也不是当前时间。 解决方案:把需要时间弹窗的部分使用activity实现,fragment里面放置一个按钮点击后进activity。 2.项目整体的bar是自定义的,...
  • 上次是重写系统的菜单按钮,这次调用自己写的按钮或者其他view对象,但是已经把选项弄成类似于弹窗的选项了。 我们还是以三个选项(修改,注销,退出为例) 首先在res/menu下创建contextmenu.xml android:...
  • 生日祝福是在公历生日当日打开App有弹窗祝福。 如需导入项目,强烈推荐 先看下 客户端-安装指南.md API接口 向对应接口发请求即可获得数据 API文档地址 另外建议长期使用Api接口的联系下管理员,因未来会修改接口的...

空空如也

空空如也

1 2 3
收藏数 59
精华内容 23
关键字:

安卓信息弹窗