系统的八大对话框
对话框使用注意事项:
- 修改对话框宽高的时候,要在dialog对话框show方法之后使用
- 修改dialog样式的方法
- 在style中写dialog的样式,一般如下:通过下面属性来改变dialog的背景色等
<style name="dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item><!--边框-->
<item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
<item name="android:windowIsTranslucent">true</item><!--半透明-->
<item name="android:windowNoTitle">true</item><!--无标题-->
<item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
<item name="android:backgroundDimEnabled">true</item><!--模糊-->
<item name="android:windowFullscreen">true</item>
</style>
- 在创建对话框的时候引用该样式。
final AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.dialog);
1. 一般对话框
效果图
/**
* 一般对话框
*/
private void showNormalDialog() {
/* @setIcon 设置对话框图标
* @setTitle 设置对话框标题
* @setMessage 设置对话框消息提示
* setXXX方法返回Dialog对象,因此可以链式设置属性
*/
final AlertDialog.Builder normalDialog =
new AlertDialog.Builder(MainActivity.this);
normalDialog.setIcon(R.mipmap.ic_launcher);
normalDialog.setTitle("我是一个普通Dialog");
normalDialog.setMessage("你要点击哪一个按钮呢?");
normalDialog.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "确定", Toast.LENGTH_SHORT).show();
}
});
normalDialog.setNegativeButton("关闭",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "关闭", Toast.LENGTH_SHORT).show();
}
});
// 显示
normalDialog.show();
}
2. 带有三个按钮对话框
效果图
/**
* 三个按钮对话框
* setNeutralButton
*/
public void showMultiBtnDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("我是一个普通Dialog").setMessage("你要点击哪一个按钮呢?");
builder.setIcon(R.mipmap.ic_launcher);
builder.setNegativeButton("按钮1", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),