کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش نحوه ی استفاده از ‏action bar‏ اندروید‎ قسمت چهارم

 

clip_image001

دوره آموزش برنامه نویسی اندروید

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

 

آموزش نحوه ی استفاده از ‏action bar‏ اندروید قسمت چهارم

 7. پیمایش از طریق آیکون برنامه

Home icon

Action bar آیکونی از برنامه ی کاربردی شما به نمایش می گذارد که home icon نام دارد. می توان به این آیکون یک action تخصیص داد، البته action پیشنهادی این است که در صورت استفاده از دکمه ی موردنظر کاربر به صفحه ی main activity ارجاع داده شود.

پس از انتخاب این دکمه، متد onOptionsItemSelected () با action ای فراخوانی می شود که شناسه (ID) ی آن android.R.id.home باشد.

پیش از ویرایش 4.1 سیستم عامل اندروید، باید شناسه ی android.R.id.home را در متد onOptionsItemSelected () بکاربرده و قابلیت گزینش و انتخاب Home button را فعال می کردید. این پروسه در کد زیر که SecondActivity، MainActivity را به عنوان home تعریف می کند به تصویر کشیده شده است.

package com.vogella.android.actionbar.homebutton;
import android.os.Bundle;

import android.app.ActionBar;

import android.app.Activity;

import android.content.Intent;

import android.view.Menu;

import android.view.MenuItem;

public class SecondActivity extends Activity {

@Override
 
protected void onCreate(Bundle savedInstanceState) {
   
super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

   
// enable the home button
    ActionBar actionBar = getActionBar();

    actionBar.setHomeButtonEnabled(
true);
  }

  @Override
 
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main، menu);

   
return true;
  }

  @Override
 
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

    case android.R.id.home:

      Intent intent =
new Intent(this، MainActivity.class);
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

     startActivity(intent);

     
break;
    
// Something else
    case R.id.action_settings:

      intent =
new Intent(this، ThirdActivity.class);
      startActivity(intent);

    default:

     
break;
    }

   
return super.onOptionsItemSelected(item);
  }

}

نکته

از اندروید 4.1 به بعد می توان والد منطقی (logical parent) هر activity را با مشخص کردن خصیصه (attribute) ی android:parentActivityName در عنصر <activity> تعریف کرد.

<activity android:name="SecondActivity"

            android:label="@string/app_name"

            android:parentactivityname="MainActivity">

    activity>

 استفاده از آیکون برنامه به عنوان Up button

شما این اجازه را دارید که آیکون اپلیکیشن را به عنوان Up button مورد استفاده ی خودتون قرار دهید، به این معنا که با انتخاب آن کاربر به activity والدِ فعالیت (activity) جاری ارجاع داده شود. back button (کلید یا دکمه ی برگشت) همیشه کاربر را به activity پیشین برمی گرداند.

به عنوان مثال، اگر کاربر با انتخاب گزینه ی معینی از home screen شروع به نوشتن ایمیلی کند، back button همان طور که از اسمش پیدا است کاربر را به صفحه ای که گزینه ی نوشتن ایمیل از آن جا انتخاب شده (home screen) باز می گرداند، این در حالی است که با انتخاب up button کاربر به activity ای ارجاع داده (فرستاده) می شود که نمونه ای نمایشی از کلیه ی پست های الکترونیکی به نمایش گذاشته شده است.

به منظور فعال سازی Up display، می توانید از کد زیر در activity خود استفاده کنید.

actionBar.setDisplayUseLogoEnabled(false);
actionBar.setDisplayHomeAsUpEnabled(
true);

 توجه

تکه کد (snippet) فوق تنها Up display را در home icon شما فعال می کند. لازم است رفتار یا عملکرد (behavior) صحیح را (در activity خود) در متد onOptionItemSelected () پیاده سازی کنید. action مربوطه هنوز شناسه ی android.R.id.home را دارد.

هشدار

تفاوت بین Up button و Back button ممکن است برای کاربر کمی گیج کننده باشد. چنانچه قصد دارید Up button را پیاده سازی کرده و بکارببرید، توصیه می شود قبل از عرضه ی اپلیکیشن، ابتدا عملکرد دکمه ی مورد نظر را بررسی کرده و از کارامد بودن آن اطمینان حاصل کنید (آیا وظیفه ی محوله را انجام می دهد یا خیر).

1394/07/27 4144 3347
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...