using System; using Shared.IOS.TBL; namespace Shared { /// <summary> /// GestureLockView /// </summary> public class GestureLockView : View { /// <summary> /// 当å‰è§†å›¾ /// </summary> /// <value>The GestureLockView.</value> HDLGestureLockView mHDLGestureLockView { get { return uiView as HDLGestureLockView; } set { uiView = value; } } /// <summary> /// æž„é€ å‡½æ•° /// </summary> public GestureLockView() { mHDLGestureLockView = new HDLGestureLockView { Delegate = new OnLockVerifyListener(this) }; } /// <summary> /// 刷新布局 /// </summary> private void RefreshFrame() { mHDLGestureLockView.InitWithFrameLockView(new CoreGraphics.CGRect(base.X, base.Y, base.Width, base.Height)); } /// <summary> /// 控件宽度 /// </summary> public override int Width { get { return base.Width; } set { base.Width = value; RefreshFrame(); } } /// <summary> /// 控件的高度 /// </summary> public override int Height { get { return base.Height; } set { base.Height = value; RefreshFrame(); } } /// <summary> /// 控件的Xåæ ‡ /// </summary> public override int X { get { return base.X; } set { base.X = value; RefreshFrame(); } } /// <summary> /// 控件的Xåæ ‡ /// </summary> public override int Y { get { return base.Y; } set { base.Y = value; RefreshFrame(); } } /// <summary> /// 设置æ£ç¡®å’Œæ™®é€šæ—¶çš„颜色 /// </summary> /// <value>线颜色</value> public uint LockViewCorrectColor { set { byte r, g, b, a; r = (byte)(value / 256 / 256 % 256); g = (byte)(value / 256 % 256); b = (byte)(value % 256); a = (byte)(value / 256 / 256 / 256 % 256); mHDLGestureLockView.SelectedLineColor = UIKit.UIColor.FromRGBA(r, g, b, a); } } /// <summary> /// 设置错误时的颜色 /// </summary> /// <value>线颜色</value> public uint LockViewErrorColor { set { byte r, g, b, a; r = (byte)(value / 256 / 256 % 256); g = (byte)(value / 256 % 256); b = (byte)(value % 256); a = (byte)(value / 256 / 256 / 256 % 256); mHDLGestureLockView.ErrorLineColor = UIKit.UIColor.FromRGBA(r, g, b, a); //mHDLArcSeekBar.SetProgressTextColor(UIKit.UIColor.FromRGBA(r, g, b, a)); } } /// <summary> /// 显示手势解é”view æ˜¯å¦æ˜¾ç¤ºæ£ç¡® /// </summary> public void showCorrectStatus(bool isTrue) { mHDLGestureLockView.ShowErrorStatus = !isTrue; } /// <summary> /// Action /// </summary> public Action<string, int> OnLockVerifyEvent; /// <summary> /// OnLockVerifyListener æ‰‹åŠ¿æ»‘åŠ¨ç»“æŸ /// </summary> OnLockVerifyListener mOnLockVerifyListener; public class OnLockVerifyListener : SSGestureLockViewDelegate { [Weak] GestureLockView _GestureLockView; public OnLockVerifyListener(GestureLockView view) { _GestureLockView = view; } public override void onDidSelectedGestureLockView(string selectNumStr, int selectCount) { _GestureLockView.OnLockVerifyEvent?.Invoke(selectNumStr, selectCount); } //public override void SelectIndex2(nint selectIndex1, nint selectIndex2, nint selectIndex3) //{ // _GestureLockView.OnLockVerifyEvent?.Invoke(); //} //public override void OnProgressChanged(int mProgress) //{ // _WaveSeekBar.OnProgressChangedEvent?.Invoke(this, mProgress); //} } } }