Activity 自定义dialog (自定义layout)

自定义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();
		}
	}

}


你可能感兴趣的:(Activity 自定义dialog (自定义layout))