2013-02-25 53 views
10

4.2.2 से पहले, केवल लोगो क्लिक करने योग्य था।एंड्रॉइड 4.2.2 एक्शनबार आइकन और शीर्षक क्लिक करने योग्य बनाता है जैसे कि उसी बटन का हिस्सा

4.2.2 के रूप में, एक्शनबार का शीर्षक लोगो के साथ क्लिक करने योग्य है - दोनों एक ही बटन के हिस्से के रूप में।

आप Google रीडर ऐप में इस व्यवहार का एक उदाहरण देख सकते हैं - यदि आपके पास 4.2.2 डिवाइस है (स्क्रीनशॉट संलग्न देखें)।

मैं इस व्यवहार को कैसे अक्षम कर सकता हूं और केवल आइकन पर क्लिक कर सकता हूं? शायद यह एक बग है?

देखें उदाहरण के कोड स्निपेट:

public class MainActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getActionBar().setDisplayHomeAsUpEnabled(true); 
     getActionBar().setHomeButtonEnabled(true); 
    } 
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case android.R.id.home: 
       Intent intent = new Intent(this, MainActivity.class); 
       startActivity(intent); 
       finish(); 
       return true; 
     } 
     return false; 
    } 
} 

Clicking on the logo sets the title to also being clicked

+0

क्या आप एक कम परीक्षण केस प्रदान कर सकते हैं जो कोड में समस्या का प्रदर्शन करता है? – Charles

+0

क्या आपने शीर्षक को छिपाने और इसके बजाय कस्टम व्यू का उपयोग करने का प्रयास किया है? – ebarrenechea

+0

@ चार्ल्स - प्रश्न के लिए क्यूड स्निपेट जोड़ा गया। जैसा कि मैंने कहा, यह 4.2.1 –

उत्तर

2

यह एक बग नहीं है, कि सामान्य प्रणाली व्यवहार है! मुझे लगता है कि उन्होंने इसे बदल दिया है ताकि उपयोगकर्ता उस बटन पर एक बड़ा क्लिक करने योग्य लक्ष्य क्षेत्र कर सकें।

जब तक आप अपना स्वयं का एक्शनबार लागू नहीं करते हैं (शायद एक्शनबार शेरलॉक बढ़ाकर) आप इसके बारे में कुछ भी नहीं कर सकते हैं।

+2

से 4.2.2 पर अलग-अलग व्यवहार करता है यह तार्किक नहीं है। शीर्षक वर्तमान दृश्य का प्रतिनिधित्व करता है। इस पर क्लिक करने से उपयोगकर्ता को मुख्य गतिविधि में भेज दिया जाता है, जो एक आश्चर्यजनक था। अगर यह मुझे डेवलपर के रूप में हैरान करता है, तो यह बहुत से उपयोगकर्ताओं को आश्चर्यचकित करेगा। –

+0

इसके अलावा, रिलीज नोट्स में इसके बारे में कोई दस्तावेज नहीं था, जो एक बग की तरह लगता है। –

+0

मैं इसके तर्क पर चर्चा करने के लिए यहां नहीं हूं।मैं सिर्फ आपको बता रहा हूं कि यह मंच मानक मानक मानक है और जब तक आप इसे वापस बदलने के लिए माउंटेन व्यू में लोगों को मनाने के लिए मना नहीं कर सकते हैं, इस तरह यह होगा। – Budius

3

इस उत्तर से संबंधित लगता है: https://stackoverflow.com/a/16216966/596531

अपने आप को यह पता करने की कोशिश की नहीं है, क्योंकि यह सबसे अच्छे रूप में एक समाधान है और मेरे कोड पेचीदा हो, लेकिन असली शीर्षक छुपा कर यह चाल करना चाहिए।

getActionBar().setHomeButtonEnabled(true); 

और (या)

getActionBar().setDisplayHomeAsUpEnabled(true); 

पाठ और आइकन कोड का उपयोग कर

getActionBar().setDisplayHomeAsUpEnabled(true); 

का उपयोग कर बाहर के साथ क्लिक करने योग्य छोड़कर बनाता है यही कारण है कि:

1

से छुटकारा यहां से ^^ आइकन या टेक्स्टके बगल में एक छोटा तीर प्रदर्शित करता है


संपादित

आप इस

getActionBar().setHomeButtonEnabled(true); 

का उपयोग कर की कोशिश कर सकते और कार्रवाई बार पाठ, मेरा अनुमान से छुटकारा पाने के ... लेकिन नहीं thats तुम क्या चाहते:/लेकिन यह बनाता है बस आइकन क्लिक करने योग्य