Option menu در اندروید

سه شنبه 19 آبان 1394

در این مقاله می خواهیم در مورد option menu صحبت نماییم، قصد داریم یک نمونه ی قرار دهیم تا کاربرد و نحوه ی استفاده ی آن را متوجه شوید.

Option menu در اندروید

منوها بخش جدایی ناپذیر از هر برنامه هستند، این بسیار نادر است که برای دیدن یک برنامه بدون انتخاب گزینه های منو وارد شویم، حتما تا به حال در application های موبایل دیده باشید که وقتی وارد یک برنامه می شوید ، در گوشه ی بالا سمت راست یک سه نقطه وجود دارد که با زدن آن منوها قرار دارد.

در مرحله ی اول باید به کلاس جاوای خود package های زیر را اضافه نمایید:

import android.view.Menu;  
import android.view.MenuItem;  
import android.widget.Toast; 

شبیه به activity های قبلی ، خود منو یک پوشه دارد که باید در پروژه اضافه شود، و خود دارای یک فایل xml است.

برای ساخت یک منو باید در پوشه ی res یک پوشه به نام menu اضافه نمایید.

به صورت پیش فرض ما یک منو داریم که آیتم های زیر را دارد:


<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
            android:id="@+id/one"
            android:title="One" />

    <item
            android:id="@+id/two"
            android:title="Second"/>

    <item
            android:id="@+id/third"
            android:title="Third"/>
</menu>

برای ایجاد یک منو ما باید از یک clickListener استفاده نمایید، برای منو حتما باید از متد OnOptionItemselected() استفاده نماییم.


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
   
// Inflate the menu; this adds items to the action bar if it is present. 
getMenuInflater().inflate(R.menu.main, menu); 
return true; 
}

کل کد در جاوا به صورت زیر می باشد:

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MyActivity extends Activity {
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    public boolean onOptionsItemSelected(MenuItem item) {

        switch(item.getItemId()){
            case R.id.one:
                Toast.makeText(MyActivity.this, "انتخاب اول", Toast.LENGTH_LONG).show();
                return false;


            case R.id.two:
                Toast.makeText(MyActivity.this, "انتخاب دوم", Toast.LENGTH_LONG).show();;
                return false;


            case R.id.third:
                Toast.makeText(MyActivity.this, "انتخاب سوم", Toast.LENGTH_LONG).show();;
                return false;

        }
        return false;

    }
}

زمانی که برنامه را اجرا نمایید سه نقطه ای که بالا هست را بزنید منوها نمایش داده می شود که با انتخاب هر کدام می توانید به activity خودش برود، ما در اینجا از یک پیغام  Toast استفاده کردیم.

خروجی به صورت زیر می شود:

 

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

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

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

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

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