Android 自定义弹窗提示
Java文件:
private void showDialog() {
AlertDialog.Builder builder= new AlertDialog.Builder(this);
//获取界面
View view= LayoutInflater.from(this).inflate(R.layout.alert_dialog, null);
//将界面填充到AlertDiaLog容器并去除边框
builder.setView(view,0,0,0,0);
//初始化控件
TextView but_ok= view.findViewById(R.id.but_ok);
TextView but_return= view.findViewById(R.id.but_return);
//取消点击外部消失弹窗
builder.setCancelable(false);
//创建AlertDiaLog
builder.create();
//AlertDiaLog显示
final AlertDialog dialog= builder.show();
//设置AlertDiaLog宽高属性
// WindowManager.LayoutParams params = Objects.requireNonNull(customAlert.getWindow()).getAttributes();
// params.width = 200;
// params.height = 200 ;
// dialog.getWindow().setAttributes(params);
// 移除dialog的decorview背景色
dialog.getWindow().getDecorView().setBackground(null);
//设置自定义界面的点击事件逻辑
but_ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
});
but_return.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
});
}
布局文件:
<?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="wrap_content"
android:orientation="vertical"
android:background="@drawable/fillet_fill_stroke">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width= "38dp"
android:layout_height="38dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:src="@mipmap/wenti"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="22sp"
android:textColor="#70AFF8"
android:textStyle="bold"
android:layout_gravity="center|bottom"
android:text="消息"/>
</LinearLayout>
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:textColor="#5C5C5C"
android:textSize="20sp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:text="******"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#eee"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/but_return"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="16sp"
android:gravity="center"
android:textColor="#999"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:text="取消"/>
<LinearLayout
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#eee"/>
<TextView
android:id="@+id/but_ok"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="16sp"
android:gravity="center"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:textColor="#70AFF8"
android:textStyle="bold"
android:text="确定"/>
</LinearLayout>
</LinearLayout>
资源文件:
背景样式
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--描边设置-->
<stroke android:color="@android:color/darker_gray"
android:width="1px" />
<!--填充设置-->
<solid android:color="@android:color/white"/>
<!--圆角设置-->
<corners android:radius="15dp"/>
</shape>