17 AlertDialog的应用

AlertDialog的用途

1.弹出警告窗体,提示重要信息,提示用户再次确认操作

2.可设置确认、取消按钮等事件

 

 

package com.example.logon;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btnLogon = (Button)findViewById(R.id.btnLogon);
        btnLogon.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                RadioButton rbtnLogonByUserName = (RadioButton)findViewById(R.id.rbtnLogonByUserName);
                //RadioButton rbtnLogonByEmail = (RadioButton)findViewById(R.id.rbtnLogonByEmail);
                String DbUser,DbPassword;
                if(rbtnLogonByUserName.isChecked()){
                    DbUser = "zhangsan";
                    DbPassword = "123456";
                }
                else{
                    DbUser = "zhangsan@sample.com";
                    DbPassword = "123456";
                }
                EditText txtUserName = (EditText)findViewById(R.id.txtUserName);
                EditText txtPassword = (EditText)findViewById(R.id.txtPasword);
                TextView txtResult = (TextView)findViewById(R.id.txtResult);
                if (txtUserName.getText().toString().equals(DbUser)){
                    if(txtPassword.getText().toString().equals(DbPassword)){
                        //txtResult.setText("登录成功");
                        //Toast toast = Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_LONG);
                        //toast.setGravity(Gravity.CENTER,0,0);
                        //LinearLayout layout = (LinearLayout)toast.getView();
                        //ImageView img = new ImageView(getApplicationContext());
                        //img.setImageResource(R.drawable.googleplay);
                        //layout.addView(img,0);
                        //toast.show();
                        ToastShow("登录成功");
                    }else{
                        //密码错误
                        //txtResult.setText("密码错误");
                        //Toast toast = Toast.makeText(MainActivity.this, "密码错误", Toast.LENGTH_LONG);
                        //toast.setGravity(Gravity.CENTER,0,0);
                        //toast.show();
                        ToastShow("密码错误");
                    }
                }
                else{
                    //用户名不存在
                    //txtResult.setText("用户名不存在");
                    //Toast toast = Toast.makeText(MainActivity.this, "用户名不存在", Toast.LENGTH_LONG);
                    //toast.setGravity(Gravity.CENTER,0,0);
                    //toast.show();
                    ToastShow("用户名不存在");
                }
            }
        });
        final Button btnReg = (Button)findViewById(R.id.btnReg);
        btnReg.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //View contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.popup_content,null,false);
                //PopupWindow window = new PopupWindow(contentView,LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT,true);
                //window.setTouchable(true);
                //window.showAsDropDown(btnReg,0,0,Gravity.BOTTOM);
                //在注册按钮下展开
                //window.showAtLocation(getWindow().getDecorView(),Gravity.BOTTOM,0,0);
                //在窗口底部展开

                //点击注册时优先弹出用户使用协议
                AlertDialog alert = new AlertDialog.Builder(MainActivity.this).create();
                alert.setTitle("用户协议确认");
                alert.setIcon(R.drawable.googleplay);
                alert.setMessage("注册新用户需接受用户协议的约束,请您认真查阅用户协议内容,并选择是否同意接受用户协议。");
                alert.setButton(AlertDialog.BUTTON_POSITIVE, "确认", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        View contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.popup_content,null,false);
                        PopupWindow window = new PopupWindow(contentView,LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT,true);
                        window.setTouchable(true);
                        window.showAsDropDown(btnReg,0,0,Gravity.BOTTOM);
                        //在注册按钮下展开
                        //window.showAtLocation(getWindow().getDecorView(),Gravity.BOTTOM,0,0);
                        //在窗口底部展开
                    }
                });
                alert.setButton(AlertDialog.BUTTON_NEGATIVE, "不同意", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        ToastShow("只有接受用户协议,才能注册新用户。");
                    }
                });
                alert.show();
            }
        });
    }
    void ToastShow(String Content){
        Toast toast = Toast.makeText(MainActivity.this, Content, Toast.LENGTH_LONG);
        View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.tosat_templates, null);
        TextView txtToastContent = (TextView) view.findViewById(R.id.txtToastContent);
        txtToastContent.setText(Content);
        toast.setView(view);
        toast.setGravity(Gravity.CENTER,0,0);
        //LinearLayout layout = (LinearLayout)toast.getView();
        //ImageView img = new ImageView(getApplicationContext());
        //img.setImageResource(R.drawable.googleplay);
        //layout.addView(img,0);
        toast.show();
    }
}
原文地址:https://www.cnblogs.com/wangdayang/p/14459863.html