常用方法
AlertDialog.Builder builder = new AlertDialog.Builder(context);构建Dialog的各种参数
Builder.setIcon(int iconid);添加标题
Builder.setMessage(CharSequence message);添加消息
Builder.setView(View view);设置自定义布局
Builder.create();创建Dialog
Builder.show();显示对话框
Builder.setPositiveButton("确定",new new DialogInterface.OnClickListener())确定按钮
Builder.setNegativeButton 取消按钮
Builder.setNeutralButton 中间按钮
常用的方法就是这些,下面贴代码
package com.example.mytoolbar;
import androidx.appcompat.app.AppCompatActivity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class ToolbarActivity extends AppCompatActivity {
private AlertDialog.Builder builder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toolbar);
}
public void ondilog(View view) {
builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.ic_android_black_24dp);
builder.setTitle("标题");
builder.setMessage("这是消息");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(ToolbarActivity.this, "点击了确定", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(ToolbarActivity.this, "点击了取消", Toast.LENGTH_SHORT).show();
}
});
builder.setNeutralButton("中间按钮", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(ToolbarActivity.this, "这是中间的按钮", Toast.LENGTH_SHORT).show();
}
});
builder.create();
builder.show();
}
public void onclick(View view) {
builder.show();
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ToolbarActivity">
<Button
android:id="@+id/btn"
android:layout_width="100dp"
android:layout_height="100dp"
android:onClick="ondilog"
android:text="创建弹框" />
<Button
android:layout_width="100dp"
android:layout_height="100dp"
android:onClick="onclick"
android:text="显示对话框" />
</LinearLayout>
Dialog方法里面有一个setView的使用方式:
1.在代码里面设置完setView(R.layout…)
2.创建一个布局,里面就是自定义的一个Dialog
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00000000">
<LinearLayout
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#ffff00"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="为了更好的录制效果,请业务员坐在客户右手边。"
android:textColor="#333333"
android:textSize="15dp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="20dp"
android:background="#EAE7E7" />
<TextView
android:id="@+id/video_know"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:gravity="center"
android:text="我知道了"
android:textColor="#0064B9"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
效果是这样的