خانه » لایبرری های مفید و تجربیات شخصی خیلی مفید !!! » ActionBarCompat قسمت دوم افزودن آیتم به منو

ActionBarCompat قسمت دوم افزودن آیتم به منو

در قسمت قبلی با استفاده از AppCompat اکشن بار را ساختیم ، در این قسمت قصد داریم چند آیتم به آن اضافه کنیم :
بر روی پوشه res راست کلیک کرده و گزینه New > Android resource directory را بزنید و از resource type گزینه menu را انتخاب کنید تا فولدر menu ساخته شود.

سپس درون آن فایلی به نام 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_refresh"
            android:title="@string/action_refresh"
            android:icon="@drawable/ic_refresh"
            app:showAsAction="ifRoom" />
    <item
            android:id="@+id/action_search"
            android:title="@string/action_search"
            android:icon="@drawable/ic_search"
            app:showAsAction="ifRoom" />
    <item
            android:id="@+id/action_settings"
            android:title="@string/action_settings"
            app:showAsAction="never" />
</menu>

 

حالا در MainActivity کد های زیر را اضافه کنید :

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

 

آیتم ها اضافه شدند 

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

برچسب ها:
پست قبلی
پست بعدی

درباره ایلیا عابدینی

برنامه نویس اندروید و کارشناس مهندسی پزشکی، نفر سوم مسابقه برنامه نویسی اندروید http://www.schallenge.ir ، از سال 92 برنامه نویسی اندروید رو شروع کردم و در حال حاضر در شرکت عصر دانش در حال توسعه اپلیکیشن تجارت پی می باشدم ، این وبلاگ رو ساختم تا تجربیات روزانه و مفید خودم رو داخل اون بزارم. رزومه : iact.ir/cv

2 دیدگاه

  1. سلام.. خسته نباشید..

    اگه بخوایم یه لایه گرافیکی رو واسه اکشن بار بزاریم چ کدی باید بزنیم؟

    مثله این نمونه ها

    http://upload7.ir/imgs/2014-12/31398451920939757651.png

    http://upload7.ir/imgs/2014-12/17469120104699607970.png

    اگه تعداد اکتیویتی هامون زیاد باشه و واسه هر کدوم بخوایم اکشن بار متفاوت بزاریم چ کاری بهتره؟

    • سلام چند تا کار میتونید بکنید

      اول از همه اینکه وقتی اکشن بار استفاده می کنید و از دکمه های روی اون ، یا باید برای هر اکتیویتی همه ی کد هارو کپی کنید ، یا اینکه (کار درست اینه) که یک اکتیویتی داشته باشید و بقیه صفحه ها فرگمنت باشند که داخل همان اکتیویتی ساخته می شوند.

      البته راه های دیگه ای هم هست مثل اینکه یک layout بسازید و با include تو همه اکتیویتی ها اضافه کنید (یا یک View سفارشی مثل این : http://iact.ir/%D8%B3%D8%A7%D8%AE%D8%AA-persiantextview/)

      البته در نسخه جدید لالی پات و بروز رسانی لایبرری support ظاهرا یک لایبرری وجود دارد که می توان با استفاده از اون یک بار اکشن بار رو تعریف کرد و توی همه اکتیویتی ها استفاده کرد (که البته هنوز فرصت نکردم کامل مطالعه کنم)

      اما بهترین و درست ترین راه حل که در بیشتر اپلیکیشن ها استفاده می شود همان استفاده از یک اکتیویتی و فرگمنت هایی داخل آن هست

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نمی شود.علامت دارها لازمند. *

*

رفتن به بالا