自定义dialog的方式有两种
1、扩展Dialog
如果不需要dialog默认的title栏,可以通过设置 requestWindowFeature
可以设置setCanceledOnTouchOutside实现单击空白处关掉
public class LoginForgetDialog extends Dialog {
public LoginForgetDialog(final Context context) {
super(context);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.login_forget_password);
View view = findViewById(R.id.layout);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do sth
dismiss();
}
});
setCanceledOnTouchOutside(true);
}
}
2、用Activity 配置的时候设置主题 dialog
Activity配置的 设置 android:theme="@android:style/Theme.Dialog"
public abstract class DialogActivity extends BaseActivity {
protected void onCreate(android.os.Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
setFinishOnTouchOutside(true);
} catch (Throwable e) {
e.printStackTrace();
}
}
}