• Android中的AlertDialog和ProgressDialog用法


    手机APP对话框是很多APP都有的下面来看下怎么实现的吧,

    打开Android studio 然他自动创建好布局和类;

    下面我们修改activity_main.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"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <Button
            android:id="@+id/btn1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            android:layout_gravity="center"
            android:layout_marginTop="60pt"
            android:textAllCaps="false"
            />
    
        <Button
            android:id="@+id/btn2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Button"
            android:layout_marginTop="3pt"
            android:textAllCaps="false"
            />
    
    </LinearLayout>
    

      再activity_main.xml添加了两个按钮 分别是用于 AlertDialog  和 ProgressDialog的

      下面我们再看ActivityMain中的代码

      

    package com.example.administrator.myappalertdialog;
    
    import android.app.ProgressDialog;
    import android.content.DialogInterface;
    import android.preference.DialogPreference;
    import android.support.v7.app.ActionBar;
    import android.support.v7.app.AlertDialog;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
        private Button mBtn1;
        private Button mBtn2;  //声明控件
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ActionBar actionbar = getSupportActionBar();  // 去除标题栏
            if(actionbar!= null)
            {
                actionbar.hide();
            }
            mBtn1 = (Button) findViewById(R.id.btn1);  //查找控件
            mBtn1.setOnClickListener(this);   //创建点击事件
            mBtn2 = (Button) findViewById(R.id.btn2);
            mBtn2.setOnClickListener(this);
        }
    
        public void onClick(View view)  //点击事件
        {
            switch(view.getId())
            {
                case R.id.btn1:AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
                    dialog.setTitle("This is AlertDialog");  //对话框标题
                    dialog.setMessage("Hello world!");  //内容
                    dialog.setCancelable(true);    //可撤销性
                    dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(MainActivity.this,"OK",Toast.LENGTH_SHORT).show();  //提示内容
                        }   //确定按钮的点击事件
                    });
                    dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(MainActivity.this,"Cancel",Toast.LENGTH_SHORT).show();  //提示内容
                        }//取消按钮的点击事件
                    });
                    dialog.show();  //全部显示出来
                    break;
    //下面的原理一样。
                case R.id.btn2:
                    ProgressDialog progressdialog = new ProgressDialog(MainActivity.this);
                    progressdialog.setTitle("This is ProgressDialog");
                    progressdialog .setMessage("Mr.Jiang");
                    progressdialog.setCancelable(false);
                    progressdialog.show();
                    break;
    
                default: Toast.makeText(MainActivity.this,"ERROR",Toast.LENGTH_SHORT).show();break;
            }
        }
    }
    

      上面ProgressDialog 没有确定和取消按钮,我们可以把progressdialog.setCancelable里面的值改成true,按下BACK键即可退出,还有可以用progressdialog.dismiss();来去取消关闭对话框;

        下面附上第一个和第二个效果图.

  • 相关阅读:
    图像旋转中原图16×16分块测试1
    散射对成像的影响、图像退化
    图像分块后相邻像素点旋转过程中对块内信息的利用率估算
    图像分块测试记录(还不对)
    【戏言、昔言、惜言】谭惜言写了一辈子的戏,真情假意,全在戏言里。
    照花台、无锡景、探清水河调
    Python3.x:chrome运行webdriver脚本提示--ignore-certificate-errors
    Python3.x:pip命令安装第三方库,超时处理方案
    Python3.x:抢票
    Python3.x:定时任务实现方式
  • 原文地址:https://www.cnblogs.com/c-c-c-c/p/8127449.html
Copyright © 2020-2023  润新知