سلام من کدی که تو مقاله موجود توی سایت گذاشته بودید رو برای انتقال دکمه به هر جای صفحه تغییر دادم به شکل زیر :
public bool OnTouch(View v, MotionEvent e) { switch (e.Action) { case MotionEventActions.Down: _viewX = e.GetX(); _viewY = e.GetY(); Toast.MakeText(this,e.GetX().ToString(),ToastLength.Short).Show(); break; case MotionEventActions.Move: var left = (int)(e.RawX - _viewX); var top = (int)(e.RawY - _viewY); var bottom = (top+ v.Height); var right = (left + v.Width); v.Layout(left, top, right, bottom); break; } return true; }
ایراد اول: ولی دکمه پایین تر از موس توی امولیتور نگه داشته میشه. لطف کنید اشکالم رو بهم بگید...
ایراد دوم: اگر دو تا دکمه داشته باشم و بخوام تاچ رو روی هردو کنترل کنم باید به غیر از دستور button.SetOnTouchListener(this); چیکار کنم که تو رویدادOnTouchدکمه رو تشخیص بدم؟
سپاس
با سلام دوست عزیز
می تونید از کامپیوننت آماده استفاده کنید از لینک زیر
https://components.xamarin.com/view/fab
بهتون یک دکمه آماده میده که میتونه هرجایی قرار داده بشه.
در مورد اینکه موس زیر دکمه قرار میگیره فکر کنم تنها درون امولیتور به این شکل باشه روی دستگاه واقعی چک کنید ببینید چی میشه
موفق باشید.
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)