控件AlertDialog
Posted 一只小阿大嗷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控件AlertDialog相关的知识,希望对你有一定的参考价值。
常用属性
AlertDialog.Builder builder = new AlertDialog.Builder(context); 构建Dialog的各种参数
builder.setIcon(int iconld); 添加ICON
builder.setTitle(CharSequence title); 添加标题
builder.setMessage(CharSequence message); 添加消息
builder.setView(View view); 设置自定义布局
builder.create(); 创建Dialog
builder.show(); 显示对话框
setPositiveButton 确定按钮
setNegativeButton 取消按钮
setNeutralButton 中间按钮
注意:
除了create和show的返回值都是Builder,可以使用链式结构
create返回值是AlertDialog
show是Dialog.class中的
所以show在create后面,两个是放到最后面的
案例
代码
MainActivity.java
package com.example.alertdialog;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "Finny";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void adClick(View view) {
View dialogview = getLayoutInflater().inflate(R.layout.dialog_view,null);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher)
.setTitle("对话框")
.setMessage("对话框内容")
.setView(dialogview)
.setPositiveButton("确定按钮", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Log.e(TAG, "onClick: 点击了确定按钮" );
}
})
.setNegativeButton("取消按钮", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Log.e(TAG, "onClick: 点击了取消按钮" );
}
})
.setNeutralButton("中间按钮", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Log.e(TAG, "onClick: 点击了中间按钮" );
}
})
.create()
.show();
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<Button
android:text="显示对话框"
android:onClick="adClick"
android:background="#00f7a9"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
dialog_view.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:background="#FF00FF00">
<ImageView
android:src="@mipmap/ic_launcher"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="这是一个Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
效果图
以上是关于控件AlertDialog的主要内容,如果未能解决你的问题,请参考以下文章
getActivity() 在片段的 AlertDialog 中为 null
在有EditText控件的AlertDialog对话框中自动弹出输入法