ایجاد یک رویداد Touch در Xamarin

شنبه 20 آذر 1395

در این مقاله نحوه ایجاد یک Touch Event (رویداد Touch ) در تکنولوژی Xamarin را بیان می کنیم. مراحل ساخت برنامه به صورت ساده و گام به گام آورده شده اند.

ایجاد یک رویداد Touch در Xamarin

برای ساخت برنامه، مراحل زیر را انجام دهید:

گام1- از مسیر File-->  New-->  Project یک پروژه جدید ایجاد کنید . 

گام 2- سپس یک Blank App انتخاب کنید، برای برنامه خودتان ، یک نام و محل ذخیره سازی دلخواه انتخاب کنید. 

گام 3

سپس به مسیر Resource-->Layout بروید و در فایل main.axml همه کدهای مربوط به دکمه را پاک کنید. سپس به فایل MainActivity.cs بروید و کدهای مربوط به دکمه را از این محل، نیز پاک کنید. 

گام 4

حالا از پنجره ی toolbox ، یک button بکشید و به درون صفحه بیاورید. 

گام 5 

حالا به پنجره ی properties  بروید و دو ویژگی زیر را در دکمه تغییر بدهید. که یکی از آن ها id و دیگری متن مربوط به دکمه می باشد. 

گام 6 

حالا به صفحه Main.axml بروید تا تغییرات انجام شده را مشاهده کنید. 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:minWidth="25px" android:minHeight="25px">  
    <Button android:text="Move" android:padding="6dip" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/myView" />  
</LinearLayout> 

گام 7

در این مرحله به صفحه ی MainActivity.cs بروید. یک کلاس به نام View.IOnTouchListener و همچنین دو متغیر اضافه کنید.

public class MainActivity: Activity, View.IOnTouchListener  
    //variables  
private Button _myButton;  
private float _viewX;

مرحله 8 

حالا کدهایی که در زیر می بینید را در صفحه ی MainActivity.cs قرار بدهید. 

    protected override void OnCreate(Bundle bundle) {  
        base.OnCreate(bundle);  
        // Set our view from the "main" layout resource  
        SetContentView(Resource.Layout.Main);  
        _myButton = FindViewById < Button > (Resource.Id.myView);  
        _myButton.SetOnTouchListener(this);  
    }  
    public bool OnTouch(View v, MotionEvent e) {  
        switch (e.Action) {  
            case MotionEventActions.Down:  
                _viewX = e.GetX();  
                break;  
            case MotionEventActions.Move:  
                var left = (int)(e.RawX - _viewX);  
                var right = (left + v.Width);  
                v.Layout(left, v.Top, right, v.Bottom);  
                break;  
        }  
        return true;  
    }  

حالا می توانید از برنامه خروجی بگیرید و آن را مشاهده نمایید. 

دوره های آموزشی زامارین 

دوره برنامه نویسی اندروید با سی شارپ ( Xamarin )

آموزش متریال دیزاین در زامارین

آموزش Xamarin Forms

دوره Xamarin Form پیشرفته

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید