2012-11-21 14 views
32

मैं एक्शन बार में होम बटन को सक्षम करना चाहता हूं।setDisplayHomeAsUpEnabled और setHomeButtonEnabled के बीच क्या अंतर है?

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

इस में मैं ActionBar में आइकन पर एक वापस निशान डाल करने के लिए setHomeButtonEnabled और setDisplayHomeAsUpEnabled उपयोग कर रहा हूँ: मैं इस कोड का उपयोग कर रहा हूँ। अगर मैं केवल setDisplayHomeAsUpEnabled का उपयोग करता हूं तो क्या यह भी काम करेगा? क्या setHomeButtonEnabled को सत्य पर सेट करने की आवश्यकता है?

दोनों के बीच क्या अंतर है?

उत्तर

65

आप जो करना चाहते हैं, उसके लिए actionBar.setDisplayHomeAsUpEnabled(true) पर्याप्त है।

अंतर के लिए:
actionBar.setHomeButtonEnabled(true) क्लिक के फीडबैक के रूप में आइकन की पृष्ठभूमि पर रंग के साथ आइकन को क्लिक करने योग्य बना देगा।
actionBar.setDisplayHomeAsUpEnabled(true) आइकन क्लिक करने योग्य बना देगा और आइकन के बाईं ओर < जोड़ें।

+0

जब केवल 'setHomeButtonEnabled (सही)' सेट किया गया है, होगा यह अभी भी 'onOptionsItemSelected' फोन किया जाना चाहिए? –

+0

मुझे ऐसा लगता है लेकिन मैंने जांच नहीं की। – yDelouis

+5

रिकॉर्ड के लिए, मैंने चेक किया और 'सेटहोमबटन सक्षम (सत्य) '** ** ** अभी भी' ऑनऑप्शन इटैम सेलेक्टेड 'पर कॉल करता है और उसी तरह कैप्चर किया जा सकता है जहां' item.getItemId() == android.R.id.home'। तो केवल अंतर यह है कि '<' आइकन। –

3

एंड्रॉयड के रूप में कहते हैं:

- 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) 

यह काफी स्पष्ट मुझे लगता है कि

संबंधित मुद्दे