Android Studio常用对话框

下面我们一起来了解一下对话框,对话框是我们以后Android必要的一些按键。下面是我整理的三种常用对话框。
如图:
Android Studio常用对话框_第1张图片
Android Studio常用对话框_第2张图片
Android Studio常用对话框_第3张图片
Android Studio常用对话框_第4张图片

请看代码部分:
1.MainActivity.java(主界面)
package cn.qjnu.wxf;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {
Button button;  //创建一个按钮

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    button = findViewById(R.id.bt_one);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ProgressDialog prodgressdialog;
            prodgressdialog = new ProgressDialog(MainActivity.this);
            prodgressdialog.setTitle("下载进度");
            prodgressdialog.setIcon(R.mipmap.ic_launcher);
            prodgressdialog.setMessage("正在下载...");
            prodgressdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
            prodgressdialog.show();
        }
    });
}

//普通对话框
public void click1(View view) {
    AlertDialog dialog;
    dialog = new AlertDialog.Builder(this)
            .setTitle("普通对话框")  //设置标题
            .setIcon(R.mipmap.ic_launcher) //设置图标
            .setMessage("确定退出?") //提示信息
            .setPositiveButton("确定",null)   //添加“确定”按钮
            .setNegativeButton("取消",null)   //添加“取消”按钮
            .create();  //创建对话框
    dialog.show();  //显示对话框
}

//单选对话框
public void click2(View view) {
    AlertDialog dialog;
    dialog = new AlertDialog.Builder(this)
            .setTitle("选择性别")  //设置标题
            .setIcon(R.mipmap.ic_launcher) //设置图标
            .setSingleChoiceItems(new String[]{"男","女"}, 0,
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                        }
                    }
            )
            .setPositiveButton("确定",null)   //添加“确定”按钮
            .setNegativeButton("取消",null)   //添加“取消”按钮
            .create();  //创建对话框
    dialog.show();  //显示对话框
}

//多选对话框
public void click3(View view) {
    AlertDialog dialog;
    dialog = new AlertDialog.Builder(this)
            .setTitle("选择你的兴趣")  //设置标题
            .setIcon(R.mipmap.ic_launcher) //设置图标
            .setMultiChoiceItems(new String[]{"看电影","打游戏","旅游","吃","喝"},null,null)
            .setPositiveButton("确定",null)   //添加“确定”按钮
            .create();  //创建对话框
    dialog.show();  //显示对话框
}

//圆形进度条
public void click4(View view) {
    ProgressDialog prodgressdialog;
    prodgressdialog = new ProgressDialog(MainActivity.this);
    prodgressdialog.setTitle("下载进度");
    prodgressdialog.setIcon(R.mipmap.ic_launcher);
    prodgressdialog.setMessage("正在下载...");
    prodgressdialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    prodgressdialog.show();
}

//消息对话框
public void click5(View view) {
    Toast.makeText(this,"我是消息对话框",Toast.LENGTH_SHORT).show();
}

//样式
public void click7(View view) {
    Intent intent =new Intent(this,styleActivity.class);
    startActivity(intent);
}

//主题
public void click8(View view) {
    Intent intent = new Intent(this,themeActivity.class);
    startActivity(intent);
}


//自定义对话框
public void click6(View view) {
    MyDialog myDialog = new MyDialog(this,"hello!我是你的自定义");

    myDialog.show();
}

}

1.activity_main.xml(主界面)



2.activity_my_dialog.xml(自定义对话框)

      


    

        

        

            
        

        

            

2.MyDialog.java(自定义对话框)
package cn.qjnu.wxf;

import android.app.Dialog;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;


public class MyDialog extends Dialog {
    private String dialogName;
    private TextView tvMsg;
    private Button btnOK;
    private  Button btnCancel;
    public MyDialog(Context context, String dialogName){
        super(context);
        this.dialogName = dialogName;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE); //去除标题
        setContentView(R.layout.activity_my_dialog);
        tvMsg = (TextView) findViewById(R.id.tv_msg);
        btnOK = (Button) findViewById(R.id.btn_ok);
        btnCancel = (Button) findViewById(R.id.btn_cancel);
        tvMsg.setText(dialogName);  //设置自定义对话框显示内容

        //为“确定”按钮设置点击事件
        btnOK.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //此处写需要处理的逻辑
            }
        });

        //为“取消”按钮设置点击事件
        btnCancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                dismiss();  //关闭当前对话框
            }
        });

    }
}

3.activity_style.xml(样式)




    

    


3.styleActivity.java(样式)
package cn.qjnu.wxf;

import android.os.Bundle;
import android.app.Activity;

public class styleActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_style);
}

}

4.activity_theme.xml(主题)




   



**4.themeActivity.java(主题)**
package cn.qjnu.wxf;

import android.os.Bundle;
import android.app.Activity;

public class themeActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_theme);
}

}

6.values–>styles.xml配置












`

文件目录:
Android Studio常用对话框_第5张图片
讲解:
Android Studio常用对话框_第6张图片
Android Studio常用对话框_第7张图片
Android Studio常用对话框_第8张图片
Android Studio常用对话框_第9张图片
源码下载:https://download.csdn.net/download/weixin_43849104/11065970
有问题欢迎留言
如果觉得有用记得关注我!!!

你可能感兴趣的:(Android)