Android开发——Dialog对话框
AlertDialog
消息提示机制,常用来向用户传递信息、提示或警告用户行为的。
常用方法:setTitle、setMessage、create、show
package com.example.dialogapplication;import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;import android.content.DialogInterface;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void myClick(View view){switch (view.getId()){case R.id.normal_dialog_btn://AlertDialog的构造方法AlertDialog.Builder builder=new AlertDialog.Builder(this);builder.setTitle("提示");builder.setMessage("您确定退出程序吗?");builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {finish();}});builder.setNegativeButton("取消",null);builder.show();break;case R.id.diy_dialog_btn:break;}}
}
自定义Dialog
步骤:1、设置布局;2、设置Style;3、自定义Dialog;4、显示
1、使用ImageView和ImageButtom等控件完成dialog_layout的布局
设置一个MyDialog类,使该类继承于Dialog
public class MyDialog extends Dialog{public MyDialog(Context context,int themeResId){super(context,themeResId);//为对话框设置布局,setContentView(R.id.dialog_layout);findViewById(R.id.yes_btn).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//对于对话框没有finish()方法,所以只能用System.exit(0)System.exit(0);}});findViewById(R.id.no_btn).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//点击no按钮,就什么事情不发生,对话框消失,使用dismiss()方法dismiss();}});} }
2、设置Style,在value-->styles.xml文件中进行设置:
<!-- parent找到对话框风格体系 --> <style name="mydialog" parent="android:style/Theme.Dialog"><!-- 不要标题 --><item name="android:windowNoTitle">true</item><!-- 不要背景,背景色透明 --><item name="android:windowBackground">@android:color/transparent</item> </style>
3、显示
case R.id.diy_dialog_btn:MyDialog md=new MyDialog(this,R.style.mydialog);md.show();break;