ایجاد Action Bar Menu سفارشی و منوی Popup در Xamarin

یکشنبه 28 شهریور 1395

در این مقاله، با استفاده از تکنولوژی محبوب Xamarin ، یک Action Bar Menu سفارشی و همچنین یک منوی Popup ایجاد خواهیم کرد . برنامه ساخته شده در انتهای مقاله برای دانلود گذاشته شده است.

ایجاد Action Bar Menu سفارشی و منوی Popup در Xamarin

گام اول :

از مسیر Visual Studio ->New Project ->Templates ->Visual C# ->Android ->Blank App یک پروژه ایجاد کنید.

سپس نام پروژه و همچنین محل ذخیره سازی آن را انتخاب کنید.

ساخت ACTION BAR MENU سفارشی

گام دوم :

فایل options_menu.xml را ایجاد کنید. به مسیر Solution Explorer -> Project Name ->Resources ->values بروید، سپس کلیک راست کرده و گزینه ی Add->New Item را انتخاب کنید. در پنجره ظاهر شده گزینه ی XML را انتخاب کنید و نام آن را option_menu.xm بگذارید.

گام سوم :

برای مرحله بعدی به مسیر Solution Explorer -> Project Name ->Resources ->values ->options_menu.xml بروید و تکه کد زیر را در آن وارد کنید.

    <?xml version="1.0" encoding="utf-8" ?>  
    <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">  
        <!--///showAsAction="always" ///-->  
        <item android:id="@+id/action_settings" android:title="Share" showAsAction="always" />  
        <item android:id="@+id/action_settings1" android:title="Bluetooth" showAsAction="always" />  
        <item android:id="@+id/action_settings2" android:title="Exit" showAsAction="always" />  
        <!--/android:showAsAction="ifRoom"/-->  
        <item android:id="@+id/action_settings3" android:title="Share" android:showAsAction="ifRoom" />  
        <item android:id="@+id/action_settings4" android:title="Bluetooth" android:showAsAction="ifRoom" />   
    </menu>  

گام چهارم :

برای انجام مرحله بعدی، به مسیر Solution Explorer -> Project Name ->Resources ->values ->options_menu.xm بروید و تکه کد زیر را در آن وارد کنید.

    <?xml version="1.0" encoding="utf-8" ?>  
    <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">  
        <!--///showAsAction="always" ///-->  
        <item android:id="@+id/action_settings" android:title="Share" showAsAction="always" />  
        <item android:id="@+id/action_settings1" android:title="Bluetooth" showAsAction="always" />  
        <item android:id="@+id/action_settings2" android:title="Exit" showAsAction="always" />  
        <!--/android:showAsAction="ifRoom"/-->  
        <item android:id="@+id/action_settings3" android:title="Share" android:showAsAction="ifRoom" />  
        <item android:id="@+id/action_settings4" android:title="Bluetooth" android:showAsAction="ifRoom" />   
    </menu>  

گام پنجم:

سپس به مسیر Solution Explorer -> Project Name ->MainActivity.cs بروید و OnCreateOptionsMenu() را مطابق زیر ایجاد کنید.

    public override bool OnCreateOptionsMenu(IMenu menu)  
    {  
        MenuInflater.Inflate(Resource.Menu.option_menu, menu);  
        return true;  
    }  

ایجاد منوی POPUP

گام ششم :

حالا یک فایل دیگر به نام options_popup.xml ایجاد کنید. برای این کار به مسیر Solution Explorer -> Project Name ->Resources ->values بروید و بر روی فایل کلیک راست کرده و گزینه ی Add ->New Item را انتخاب کنید. در پنجره ظاهر شده گزینه ی XML را انتخاب کنید و نام آن را popup_menu.xml بگذارید.

گام هفتم :

سپس به مسیر Solution Explorer -> Project Name ->Resources ->values -> popup_menu.xml بروید و تکه کد زیر را در آن وارد کنید.

<?xml version="1.0" encoding="utf-8" ?>  
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">  
    <item android:id="@+id/action_setting1" android:title="Share" showAsAction="always" />  
    <item android:id="@+id/action_settings2" android:title="Bluetooth" showAsAction="always" />  
    <item android:id="@+id/action_settings3" android:title="Exit" showAsAction="always" />   
</menu>

گام هشتم :

سپس به مسیر Solution Explorer -> Project Name ->Resources ->Layout ->Main.axml بروید و کد زیر را در آن وارد کنید.


    <?xml version="1.0" encoding="utf-8"?>  
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">  
        <Button android:id="@+id/btnpopupmenu" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="POPUP MENU" />   
    </LinearLayout>  

گام نهم :

سپس به مسیر Solution Explorer -> Project Name -> MainActivity.cs بروید و کد زیر را در آن وارد کنید:

    protected override void OnCreate(Bundle bundle)   
    {  
        base.OnCreate(bundle);  
        // Set our view from the "main" layout resource  
        SetContentView(Resource.Layout.Main);  
        Button btnpopupmenu = FindViewById < Button > (Resource.Id.btnpopupmenu);  
        btnpopupmenu.Click += (s, arg) =>  
        {  
            PopupMenu menu = new PopupMenu(this, btnpopupmenu);  
            menu.Inflate(Resource.Menu.popup_menu);  
            menu.Show();  
        };  
    }  

با اتمام این مراحل، می توانید برنامه را اجرا کنید و خروجی را ببینید.

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

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

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

آموزش Xamarin Forms

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

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

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

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

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

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