مشخصات مقاله
-
4166
-
0.0
-
3300
-
0
-
0
آموزش نحوه ی استفاده از action bar اندروید قسمت هفتم
دوره آموزش برنامه نویسی اندروید
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.
آموزش نحوه ی استفاده از action bar اندروید قسمت هفتم
9. تمرین : action bar
پروژه
این فصل به نحوه ی ایجاد action های لازمه داخل action bar و واکنشی که در صورت انتخاب آن ها رخ می دهد، می پردازد.
10. تمرین : افزودن action bar به برنامه ی کاربردی
ایجاد آیکون برای action bar
همچنان به استفاده از پروژه ی com.example.android.rssfeed ادامه دهید.
با انتخاب File → New → Other... → Android → Android Icon Set یک آیکون بازسازی (refresh icon) برای action bar ایجاد کنید. این برنامه ی راهنما (wizard) به شما امکان می دهد آیکون های دلخواه را انتخاب کرده و ایجاد کنید. برای آیکون انتخابی اسم ic_refresh را انتخاب کنید، سپس از مجموعه هنری (clipart) موردنظر درایه ها (entry) ی مربوطه را انتخاب کنید.
نکته
صفحه ی طراحی اندروید (android design page) همچنین آیکون های از پیش آماده ویژه ی action bar ارائه می دهد.
می توانید با مراجعه به آدرس صفحه ی وب که در زیر درج شده به دانلودهای دلخواه دست پیدا کنید.
http://tahlildadeh.com
توجه
اجازه ندارید از کاراکترهای مخصوص در اسم فایل آیکون استفاده کنید، همچنین توجه داشته باشید که اسم فایل را با عدد شروع نکنید و از بکارگیری حروف بزرگ در آن به طور جدی خودداری کنید.
افزودن منبع XML به فهرست گزینش
یک منبع جدید XML به نام mainmenu.xml برای فهرست گزینش خود ایجاد کنید. برای ایجاد این فایل XML، کافی است پروژه ی خود را انتخاب کرده و روی آن راست کلیک کرده، سپس File → New → Other... → Android → Android XML File را انتخاب کنید.
اکنون گزینه ی Menu را انتخاب کرده، mainmenu.xml را به عنوان اسم فایل وارد کنید. حال دکمه ی Finish را کلیک کنید.
این پروسه یک فایل منو به پوشه ی res/menu پروژه ی شما اضافه می کند.
افزودن actions به منبع فهرست گزینش (menu resource)
فایل mainmenu.xml را بازکرده و تَب Layout را از ویرایش گر اندروید (android editor) انتخاب کنید.
دکمه ی add را فشار داده و درایه ی item را انتخاب کنید، با این کار شما یک action اضافه می کنید. Refresh را به عنوان خصیصه ی عنوان (title attribute) و action_refresh را به عنوان خصیصه ی شناسه (ID attribute) انتخاب کنید.
درایه ای مشابه تصویر زیر وارد کنید.
اکنون درایه (entry) ای دیگر به فهرست گزینش اضافه کنید که خصیصه ی ID ای به نام @+id/action_settings و خصیصه ی Title به نام Setting داشته باشد. android:showAsAction را نیز روی never تنظیم کنید.
تخصیص آیکون
با استفاده از ویرایش گر XML، @drawable/ic_action_refresh را به action_refresh (از طریق خصوصیت android:icon) اضافه کنید. به خاطر دارید که که این آیکون را در بخش " ایجاد آیکون برای action bar " دانلود و ایجاد کردید.
تست منبع XML نمونه
XML حاصله باید مشابه لیست زیر درآید.
<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"
android:showasaction="never"
>
item>
menu>
افزودن action bar به activity
کلاس RssfeedActivity خود را به کد زیر تغییر داده و فایل menu resource جدید را بکارببرید.
package com.example.android.rssfeed;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class RssfeedActivity extends Activity implements
MyListFragment.OnItemSelectedListener {
// Unchanged
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rssfeed);
}
//NEW
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mainmenu، menu);
return true;
}
//NEW
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_refresh:
Toast.makeText(this، "Action refresh selected"، Toast.LENGTH_SHORT)
.show();
break;
case R.id.action_settings:
Toast.makeText(this، "Action Settings selected"، Toast.LENGTH_SHORT)
.show();
break;
default:
break;
}
return true;
}
// Other methods which this class implements
}
