2012-11-21 17 views
32

Eylem çubuğunda ana düğmeyi etkinleştirmek istiyorum. Ben İşlem Çubuğu simgesi bir geri işareti koymak için setHomeButtonEnabled ve setDisplayHomeAsUpEnabled kullanıyorum bu isesetDisplayHomeAsUpEnabled ve setHomeButtonEnabled arasındaki fark nedir?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 
      actionbar.setHomeButtonEnabled(true); 
      actionbar.setDisplayHomeAsUpEnabled(true); 
} 

: Bu kodu kullanıyorum. Sadece setDisplayHomeAsUpEnabled kullanırsam, o zaman işe yarayacak mı? setHomeButtonEnabled'u doğru olarak ayarlamanız gerekiyor mu?

Bu ikisi arasındaki fark nedir?

cevap

65

Ne yapmak isterseniz, actionBar.setDisplayHomeAsUpEnabled(true) yeterlidir.

Fark için:
actionBar.setHomeButtonEnabled(true), simgenin arka planında bulunan tıklatmanın geri bildirimi olarak simgeyle tıklanabilir hale getirilecek.
actionBar.setDisplayHomeAsUpEnabled(true), simgeyi tıklatabilir ve simgenin solundaki <'u ekleyecektir. Android gibi

+0

düşünmek oldukça açık olmalıdır? –

+0

Sanırım öyle ama kontrol etmedim. – yDelouis

+5

Kayıt için, ben kontrol ettim ve 'setHomeButtonEnabled (true)' ** ** hala 'onOptionsItemSelected' işlevini çağırır ve' item.getItemId() == android.R.id.home' gibi aynı şekilde yakalanabilir. Yani tek fark şu ki <'icon. –

3

diyor ki:

- setDisplayShowHomeEnabled(boolean showHome) 
    // Set whether to include the application home affordance in the action bar. 
    // (and put a back mark at icon in ActionBar for "up" navigation) 

-setHomeButtonEnabled(boolean enabled) 
    // Enable or disable the "home" button in the corner of the action bar. 
    // (clickable or not) 

Sadece `setHomeButtonEnabled (true)` ayarlanır, hala `onOptionsItemSelected` arayacak zaman ben

İlgili konular