using Android.Views; using System.Application.UI.Internals; using System.Common; namespace System.Application.UI.Internals { internal interface IBtnBack : IFindViewById, View.IOnClickListener { /// /// 是否有返回按钮 /// 如果重写 则可忽略此项 /// bool HasBtnBack { get; } /// /// 绑定返回按钮 /// void BindingBtnBack(); /// public static void BindingBtnBack(IBtnBack t) { if (t.HasBtnBack) { var btnBack = t.FindViewById(R.id.btn_back); if (btnBack != null) { btnBack.SetOnClickListener(t); } } } } } namespace System.Application.UI.Activities { partial class BaseActivity : IBtnBack { /// protected virtual bool HasBtnBack { get; } bool IBtnBack.HasBtnBack => HasBtnBack; /// protected virtual void BindingBtnBack() => IBtnBack.BindingBtnBack(this); void IBtnBack.BindingBtnBack() => BindingBtnBack(); } }