2012-02-13 13 views
7

मेरे पास मेरे ऐप के लिए एक कस्टम होम आइकन है और मैं इसे एक्शनबार के बाईं ओर सभी तरह से संरेखित करना चाहता हूं, ताकि यह स्क्रीन के किनारे को छू रहा हो। क्या यह संभव है, और यदि हां, तो यह कैसे किया जा सकता है? मुझे कुछ भी नहीं दिख रहा है जो पैडिंग या मार्जिन सेट करता है ताकि इसे बाईं ओर सभी तरह से संरेखित किया जा सके।ऐप आइकन और एक्शनबार पर स्क्रीन के किनारे के बीच मार्जिन को कैसे हटाया जाए?

+0

वहाँ एक गद्दी या मार्जिन घर आइकन से जुड़ी है ?? अगर ऐसा है तो उन्हें हटा दें। बीटीडब्ल्यू हमें एक्सएमएल फाइल से कुछ कोड दिखाते हैं तो यहां कई लोग आपकी मदद कर सकते हैं। –

+0

इसके लिए कोई XML नहीं है। बस एंड्रॉइड जोड़ा गया: आइकन = "@ drawable/my_icon" मैनिफेस्ट और ab.setDisplayShowHomeEnabled (सत्य); ab.setDisplayUseLogoEnabled (झूठा); गतिविधि – CACuzcatlan

उत्तर

5

अंततः मैं इसे प्राप्त करने में कामयाब रहा। आपको एक कस्टम एक्शनबार दृश्य का उपयोग करने की आवश्यकता है। यह वास्तव में काफी आसान है:

(यह ActionBarSherlock उपयोग कर रहा है, यह शेयर compat पुस्तकालय भी साथ काम करना चाहिए ...) अपने res/values ​​/ themes.xml में

  • पहले, ActionBar प्रदर्शन सेट विकल्प "कस्टम" करने के लिए:

    <item name="android:displayOptions">showCustom</item> 
    
  • फिर में एक फ़ाइल रेस/लेआउट/actionbar_layout.xml और जगह बनाएं जिसका नाम यह कुछ की तरह:

    <ImageView 
        android:id="@+id/home_icon" 
        android:layout_alignParentLeft="true" 
        android:layout_marginLeft="5dp" 
        android:layout_marginRight="5dp" 
        android:layout_marginTop="5dp" 
        android:layout_marginBottom="5dp" 
        android:scaleType="centerCrop" 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" /> 
    
    <!-- Add textviews or whatever you like here to replicate the actionbar 
        title etc. --> 
    

  • इसके बाद, अपने गतिविधि कोड में निम्नलिखित जोड़ें:

    View mActionCustomView = getSherlockActivity().getLayoutInflater() 
        .inflate(R.layout.actionbar_layout, null); 
    getSherlockActivity().getSupportActionBar().setCustomView(
         mActionCustomView); 
    
    ImageView homeIcon = (ImageView)mActionCustomView 
        .findViewById(R.id.home_icon); 
    int abHeight = getSherlockActivity().getSupportActionBar() 
        .getHeight(); 
    homeIcon.setLayoutParams(new RelativeLayout.LayoutParams(
          abHeight, abHeight)); 
    

वह मूल रूप से यह है! अगर मुझे कुछ छोड़ दिया गया तो मुझे बताएं। अनुकूलन योग्य एक्शनबार दृश्य होने के कुछ अच्छे लाभ हैं, बस मूल बातें देखें और यह शानदार लगेगा।

enter image description here

+0

पर आपको होमिकॉन लेआउट पैरा सेट करने की आवश्यकता नहीं है, बस मार्जिन को अपने @ + id/home_icon पर 0 पर सेट करें (उदाहरण के तौर पर दिखाए गए अनुसार 5 डीपी के बजाय)। – scottyab

+0

मेरे पास themes.xml नहीं है ... –

+0

@OnuraySahin आप कोड में वही विकल्प सेट कर सकते हैं http://developer.android.com/reference/android/app/ActionBar.html#setDisplayShowCustomEnabled%28boolean%29 – brk3