public class ScanFragment extends Fragment implements View.OnClickListener {
//全局变量
private AlertDialog alertDialog;
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.confirm:
//关闭对话框
alertDialog.dismiss();
break;
}
}
/**
* 弹出自定义对话框.
*/
public void showScanRegisterDialog(String data) {
View view = getLayoutInflater().inflate(R.layout.scan_register_dialog, null);
AppCompatTextView tvRegisterResult = view.findViewById(R.id.tv_register_result);
tvRegisterResult.setText(data);
AppCompatTextView confirm = view.findViewById(R.id.confirm);
confirm.setOnClickListener(this);
alertDialog = new AlertDialog.Builder(requireContext()).setView(view).show();
//设置点击弹窗以外的地无响应
alertDialog.setCanceledOnTouchOutside(false);
}
}
scan_register_dialog:
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/sw_56dp"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_register_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/sw_56dp"
android:layout_marginTop="@dimen/sw_56dp"
android:layout_marginEnd="@dimen/sw_56dp"
android:layout_marginBottom="@dimen/sw_36dp"
android:textColor="@color/black"
android:textSize="@dimen/sw_30sp"
tools:text="@string/register_result" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/sw_1dp"
android:layout_marginTop="@dimen/sw_20dp"
android:background="@color/ccc" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/confirm"
android:layout_width="match_parent"
android:layout_height="@dimen/sw_90dp"
android:gravity="center"
android:text="@string/confirm"
android:textColor="@color/txt_theme_color"
android:textSize="@dimen/sw_30sp" />
</androidx.appcompat.widget.LinearLayoutCompat>