خلاصه نویسی های برنامه نویسی اندروید

طبق آموزش سایت فرادرس و مکتب خونه

خلاصه نویسی های برنامه نویسی اندروید

طبق آموزش سایت فرادرس و مکتب خونه

دارم برنامه نویسی اندروید یاد می گیرم هر چی یاد می گیرم این جا می نویسم ایشالا
هر کی خواست دوره مکتب خونه رو بخره بگه من بهش کد تخفیف ۴۰ درصد بدم!

طبقه بندی موضوعی

جلسه ۵ شروع ۱۸:۱۱ ساخت منو

شنبه, ۹ فروردين ۱۳۹۹، ۰۶:۱۱ ب.ظ

دو روش برای ساخت این منو وجود داره

۱- با xml

تو resources  کلیک راست add new resource file->menu

میخوای آیتم بهش اضافه کنی:

از تو پالت گوش آیتم رو می گیری می کشی رو منو ولش می کنی

اگه خواستی یکی از اینا خودش منو باشه به جای آیتم یه منو می گیری می بری زیر اون آیتمه 

حالا اینو همین طوری بذاری اجرا نمیشه باید بری تو main activity

یه متدی بسازی مثل همون onCreate (یه متد جدا و جدید و خارج از قبلیا)

می زنی oncreateoption میاره:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    return super.onCreateOptionsMenu(menu);
    }

بعد میری توش می نویسی getmuneinflater جلوشم یه . می زنی inflate

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

به این ترتیب در میاد:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
      getMenuInflater().inflate(R.menu.menu_main,menu);
        return super.onCreateOptionsMenu(menu);
    }

بعضی وقتا لازمه برا مثلا کسی که عضوه یه نوع منوهایی رو نشون بدیم ب بقیه ندیم می شه همه اینا رو گروپ کرد راحت  

<group android:id="@+id/groupname1"
    android:visible="false"
    >

حالا مثلا میخوای با کلیک یکی از این آیتما یه اتفاقی بیفته مثلا اسمشو Toast کنه برامون

تو جاوا main activity:

public boolean havij(MenuItem item){
        Toast.makeText(this,item.getTitle(),Toast.LENGTH_SHORT).show();
        return true;
}

و توی xml منو تو اسم آیتم onclick اصفه می کنی:

<item android:title="Negar" android:onClick="havij">
</item>

که البته استاد جای havij نوشته بود itemClick

این android:onClick="havij"رو تو همه آیتمای دیگتم می تونی کپی کنی اون وقت با کلیک رو هر آیتم اسمشو می نویسه

 

راه دوم این که با کلیک یکی از این آیتما یه اتفاقی بیفته:

میری تو جاوا main activity می نویسی onOptions

و توستشم می نویسی حاصل همچین چیزی میشه:

@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    Toast.makeText(this, item.getTitle(),Toast.LENGTH_SHORT).show();
    return super.onOptionsItemSelected(item);
}

دیگه از این روش که بری نیازی نیست تو xml هویج بذاری

اما اگه بخوای با آیدی تشخیص بدی رو کدوم کلیک شده بوده اولا تو xml باید براش آیدی بذاری بعدم اینو اضافه می کنی

  @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        if(item.getItemId()==R.id.negaritem)
        Toast.makeText(this, item.getTitle(),Toast.LENGTH_SHORT).show();
        return super.onOptionsItemSelected(item);
    }

 

موافقین ۰ مخالفین ۰ ۹۹/۰۱/۰۹
Put Yourself First

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی