我最近遇到了一种情况,我正在使用dialog
活动和设置
SetFinishOnTouchOutside(false)
我面临的问题是,如果用户在创建活动之前触摸外部,活动将关闭并且永远不会显示对话框
protected override void OnCreate(Bundle savedInstanceState)
{
this.SetFinishOnTouchOutside(false);
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.dialogActivity);
}
令人难以理解的是,该活动仍在创建中,尚未到达this.SetFinishOnTouchOutside(false);
,因此,触摸外部会关闭该活动。
如何防止这种情况关闭户外触摸活动?
我将this.SetFinishOnTouchOutside(false);
放在SetContentView(Resource.Layout.dialogActivity);
之前,但这没什么区别。
查看https://developers.google.com/identity/protocols/OpenIDConnect#authenticationuriparameters上的活动生命周期
触发的第一件事是OnCreate
方法,因此我无能为力,无法阻止我的代码放置。
我的另一个想法是,当我在样式中使用<style name="AppCompatDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
来在此活动中应用样式时,我有什么方法可以在SetFinishOnTouchOutside(false)
中实施styles
?
任何想法还是我全都错了?