مشخصات مقاله
-
4150
-
0.0
-
10214
-
0
-
1
آموزش نحوه ی استفاده از action bar اندروید قسمت اول
دوره آموزش برنامه نویسی اندروید
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.
آموزش نحوه ی استفاده از action bar اندروید قسمت اول
در این مبحث آموزش برنامه نویسی اندروید نحوه ی بکارگیری Action Bar را در برنامه های کاربردی اندروید به شما آموزش می دهد که بر پایه ی Eclipse 4.3 (Kepler)، Java 1.6 و Android 4.4 نوشته شده است.
فهرست محتوا
1. معرفی و مقدمه ای بر action bar
Action bar چیست؟
مثال
کاربرد Action bar در دستگاه های اندروید با API پایین تر از ویرایش 3.0
2. بکارگیری ActionBar
توضیحاتی درباره ی درایه های action bar
آموزش ایجاد action
رویداد و واکنشی که به دنبال گزینش و انتخاب action معینی رخ می دهد
آموزش نحوه ی جستجو به دنبال action موردنظر در action bar
آموزش تغییر فهرست گزینش
3. سفارشی سازی action bar
تنظیم و اصلاح قابلیت رویت action bar
آموزش تخصیص Drawable
پنهان سازی دکمه ی پیمایش (Dimming navigation button)
استفاده از حالت تمام صفحه ی همه جانبه برای اپلیکیشن های اندروید (immersive full-screen mode)
نصف کردن action bar
4. افزایش قابلیت های action bar با استفاده از fragment
5. پویا سازی action bar
افزودن view های سفارشی به action bar
Contextual action mode
ابزارک Action View
6. Action provider
Action provider چیست و چه کاربردی دارد؟
مثال : استفاده از ShareActionProvidor
7. پیمایش از طریق آیکون برنامه
Home icon
استفاده از آیکون برنامه به عنوان Up button
8. استفاده از navigation drawer
نحوه و الگوی جدید پیمایش (با navigation drawer)
مثال : نحوه ی بکارگیری navigation drawer
پیمایش و راه گزینی بین تَب های مختلف (tab navigation)
Drop-down menu navigation
ارزیابی
9. تمرین : action bar
پروژه
10. تمرین : افزودن action bar به برنامه ی کاربردی
ایجاد آیکون برای action bar
افزودن منبع XML به فهرست گزینش
افزودن actions به منبع فهرست گزینش (menu resource)
تخصیص آیکون
تست منبع XML نمونه
افزودن action bar به activity
راه اندازی برنامه و تست action bar آن
حذف دکمه ی بازسازی (refresh button)
11. تمرین : استفاده از contextual action mode
1. معرفی و مقدمه ای بر action bar
action bar (ActionBar) در بالاترین قسمت activity درج شده است و قابلیت نشان دادن عنوان فعالیت (activity title)، آیکون، عملیاتی (actions) که می توانید فعال سازی کنید، view های اضافه بر سازمان و دیگر آیتم ها و درایه های تعاملی / interactive را دارد. البته می توان از آن جهت پیمایش در برنامه ی کاربردی خود کمک گرفت.
action bar برای دستگاه هایی طراحی و تعبیه شده و همچنین کاربردی می باشد، که SDK (بسته ی توسعه ی نرم افزار اندروید) مورد نظر و مقصد آن از نسخه ی رابط برنامه سازی کاربردی (API) 11 یا حتی بالاتر بهره مند باشند. این امکان برای کاربر وجود دارد که در صورت تمایل action bar را (از طریق تِم فعال در صفحه نمایش) غیر فعال کرده یا پنهان سازد اما تم های پیش فرض اندروید همگی action bar را به صورت خودکار در صفحه نمایش گوشی اندروید به نمایش می گذارند.
برنامه های کاربردیی که ویرایش SDK (بسته ی توسعه ی نرم افزار / Android Software Development Kit) آن از API 11 پایین تر است بجای action bar از Options menu (فهرست گزینش) بهره می گیرند (البته در صورتی که دکمه ای برای فهرست گزینش مذکور موجود باشد)، بدین ترتیب که در صورت زدن Option button، فهرست گزینش (options menu) مربوطه نمایش داده می شود. شایان توجه است که action bar از options menu به مراتب بهتر است زیرا options menu تنها مجرد زدن دکمه ی options button به نمایش گذاشته می شود در صورتی که action bar به صورت خودکار و بدون نیاز به فعال سازی گزینه ی خاصی برای کاربر قابل رویت می باشد. در رابطه با کاستی های options menu می توان به این حقیقت اشاره کرد که کاربر ممکن است از وجود گزینه ها و امکانات لازم آگاه نشود.
مثال
همان طور که مشاهده می کنید تصویر زیر action bar برنامه ی Google+ را که مجهز به نوار پیمایش (navigation bar) و درایه های تعاملی (interactive items) می باشد، نمایش می دهد. همچنین اگر به قسمت فوقانی نگاه کنید، متوجه گزینه ای می شوید که امکان نمایش نوار پیمایش در کناره ی برنامه ی مورد نظر را فراهم می کند.
![]()
کاربرد Action bar در دستگاه های اندروید با API پایین تر از ویرایش 3.0
Action bar برای اولین بار در نسخه ی 3.0 اندروید معرفی و رونمایی شد. چنانچه مایلید action bar را در ویرایش های قدیمی تر از API 3.0 بکارببرید، دو گزینه پیش رو دارید.
اولین انتخاب، استفاده از پروژه ی منبع آزاد (open source) ActionBar Sherlock است که به شما امکان می دهد action bar را در نسخه های 1.6 و بالاتر سیستم عامل اندروید بکار ببرید. می توانید از طریق لینک زیر به کتابخانه ی نام برده دسترسی داشته پیدا کنید.
http://tahlildadeh.com
دومین گزینه ی پیش رو، بهره گیری از کتابخانه ی ActionBarCompat (برگرفته و مشتق از کتابخانه ی پشتیبانی اندروید / Android support library v7 ) است که به شما اجازه می دهد action bar را در نسخه های 2.1 به بعد اندروید مورد استفاده قرار دهید.
در این بخش تمرکز را بیشتر روی آموزش استفاده از action bar بدون بهره گیری از دو گزینه ی فوق قرار می دهیم. می توانید با استفاده از کتابخانه های مختلفی که در اختیار دارید براحتی نسخه ی API خود را به ویرایش های قدیمی تر تغییر دهید.
2. بکارگیری ActionBar
توضیحاتی درباره ی درایه های action bar
درایه های موجود در action bar اغلب actions اطلاق می گردند. اگرچه می توان درایه های دلخواه را با کدنویسی به action bar اضافه کرد، افراد این کار را معمولاً از طریق فایل منبع XML انجام می دهند.
هر فهرست گزینشی که تعریف می کنید (menu definition)، در فایلی مجزا داخل پوشه ی res/menu جای گذاری می شود. اندروید تجهیزات و امکاناتی دارد که به صورت خودکار به فایل مورد نظر در فایل R ارجاع می دهد تا بدین وسیله فهرست منابع (menu resource) قابل دسترس شود.
آموزش ایجاد action
Activity درایه های مربوطه را با متد onCreateoptionmenu () به action bar اضافه می کند. خصیصه ی showAsAction به شما امکان می دهد شرایط و نحوه ی نمایش action را تنظیم و تعریف کنید. به طور مثال، خصیصه ی ifRoom دستور می دهد که action مورد نظر تنها زمانی در action bar به نمایش گذاشته شود که فضای مکفی برای آن با توجه به اندازه ی صفحه نمایش وجود داشته باشد.
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_refresh"
android:orderincategory="100"
android:showasaction="always"
android:icon="@drawable/ic_action_refresh"
android:title="Refresh" />
<item android:id="@+id/action_settings"
android:title="Settings">
item>
menu>
کلاس MenuInflator اجازه می دهد actions تعریف شده در فایل XML را ابتدا ظاهر (inflate) کرده، سپس آن را به action bar اضافه کنید. می توان به MenuInflator با استفاده از متد getMenuInflator () (از activity) دسترسی پیدا کرد. نمونه کد زیر فرایند ایجاد actions را با مثال نمایش می دهد.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mainmenu، menu);
return true;
}
نکته
با اینکه می توان action را در source code نیز تعریف کرد، توصیه می شود این کار را در فایل های XML انجام دهید زیرا از این طریق کد boilerplate کمتری ایجاد می شود.
رویداد و واکنشی که به هنگام گزینش و انتخاب action معینی صورت می گیرد
زمانی که action ای را از action bar مرتبط انتخاب می کنید، متد onOptionsItemSelected () از activity مربوطه فراخوانی می شود. متد مزبور action انتخابی را به عنوان پارامتر دریافت می کند. کاربرد این متد در تکه کد زیر به نمایش گذاشته شده است.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// action with ID action_refresh was selected
case R.id.action_refresh:
Toast.makeText(this، "Refresh selected"، Toast.LENGTH_SHORT)
.show();
break;
// action with ID action_settings was selected
case R.id.action_settings:
Toast.makeText(this، "Settings selected"، Toast.LENGTH_SHORT)
.show();
break;
default:
break;
}
return true;
}
آموزش نحوه ی جستجو و مکان یابی action موردنظر در action bar
به منظور جستجو و یافتن آیتم قابل گزینش (menu item) در فهرست یا منو، می توان از متد findItem () کلاس Menu استفاده کرد. گفتنی است که متد فوق به شما اجازه می دهد با شناسه (id) آیتم دلخواه را پیدا کنید.
آموزش تغییر فهرست گزینش
متد onCreateOptionMenu () تنها یکبار فراخوانده می شود. چنانچه به هر دلیلی ملزم به تغییر فهرست گزینش هستید، باید برای این منظور متد invalidateOptionMenu () صدا بزنید. پس از اتمام این پروسه، متد onCreateOptionMenu () باز فراخوانده می شود.
3. سفارش سازی action bar
تنظیم و اصلاح قابلیت رویت action bar
می توان قابلیت رویت (visibility) action bar را در زمان اجرا (runtime) تنظیم کرد همان طور که در مثال زیر مشاهده می کنید :
ActionBar actionBar = getActionBar();
actionBar.hide();
// more stuff here...
actionBar.show();
همچنین می توان متنی را که کنار آیکون اپلیکیشن نمایش داده می شود را در زمان اجرا باب میلتان اصلاح کنید، نمونه ی آن را زیر مشاهده می کنید.
ActionBar actionBar = getActionBar();
actionBar.setSubtitle("mytest");
actionBar.setTitle("tahlildadeh.com");
آموزش تخصیص Drawable
همچنین این امکان وجود دارد که با بکارگیری متد ActionBar. setBackgroundDrawable () یک Drawable به عنوان پیش زمینه به action bar اضافه کرد.
Action bar خود تصویر را مقیاس گذاری و تنظیم می کند، به همین دلیل توصیه می شود تصویری با قابلیت تنظیم مقیاس مثل 9-patch یا XML drawable برای action bar فراهم کنید.
نکته
از نسخه ی 4.2 به بعد اندروید، می توان با AnimationDrawable پیش زمینه ی action bar را پویا نما و متحرک (animated) ساخت.
