فلش بک در تولبار - HomeAsUp
يكشنبه, ۲ شهریور ۱۳۹۹، ۰۱:۱۷ ق.ظ
با اضافه کردن کد زیر در اکتیویتی میشه فلش بک رو توی تولبار که بهش HomeAsUp گفته میشه رو اضافه کرد.
actionBar.setDisplayHomeAsUpEnabled(true);
تغییر آیکون این دکمه:
actionBar.setHomeAsUpIndicator(R.drawable.ic_back);
جهت ست کردن تسک برای این دکمه:
روش اول:
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if(item.getItemId()==android.R.id.home){
Toast.makeText(this, "home as up is clicked!", Toast.LENGTH_SHORT).show();
onBackPressed();
}
return super.onOptionsItemSelected(item);
}
اینجا با تاچ کردن این دکمه، toast نمایش داده میشه و اکتیویتی به عقب برمیگرده (کار دکمه بک انجام میشه)
روش دوم:
اوور راید کردن متد زیر در اکتیویتی (بنظرم روش بهتریه):
@Override
public boolean onSupportNavigateUp() {
onBackPressed();
return super.onSupportNavigateUp();
}
توجه: اگر از پاپ آپ منو استفاده بشه، روش دوم جواب نمیده و باید از روش اول استفاده کرد (یعنی باید توی سوییچ همراه با باتن های منو تسک این باتن رو هم ست کنیم)
نکته: اگر از تولبار استفاده میشه (که اکثر اوقات میشه و تم NoActionBar هست) در این صورت حتما اول باید
setSupportActionBar(toolbar);
نوشته بشه وگرنه ارور نال پوینتر میده چون اکشن باری وجود نداره.
۹۹/۰۶/۰۲