2013-01-11 21 views
8

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

बार छिपाने के लिए मैं

actionbar.hide(); 
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); 

का उपयोग और यह दृश्य बनाने के लिए:

actionbar.show(); 
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); 

मेरे लेआउट सिर्फ

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 

    <MyPager 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 
    <MyPager> 

</RelativeLayout> 

अग्रिम धन्यवाद है।

+0

कुछ कोड या लेआउट पेस्ट करें, इस विवरण के आधार पर कुछ कहना मुश्किल है। – Egor

उत्तर

30

आप शायद के लिए देख रहे हैं ActionBar ओवरले मोड। setContentView() से पहले requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); पर कॉल करके इसे एक Activity के लिए सक्षम करें। या android:windowActionBarOverlay से true पर सेट करके थीम में।

+0

उत्कृष्ट, बस मुझे जो चाहिए था। – DLock

+1

मेरे मामले में मुझे 'requestWindowFeature (Window.FEATURE_ACTION_BAR_OVERLAY) भी रखना था; 'super.onCreate (savedInstanceState) से पहले;' ' –

0

गतिविधि के पैरेंट लेआउट के लिए एक रिलेवेटिवआउट बनाएं और लेआउट के शीर्ष पर अपनी एक्शन बार डालें जो इसे नीचे दी गई उदाहरण में दिखाए गए मुख्य गतिविधि सामग्री के शीर्ष पर ओवरले करेगा।

रिलेवेटिवआउट आपको तत्वों को स्थान देने की अनुमति देता है लेकिन आपको शीर्ष से नीचे के क्रम में देखने के तत्वों के जेड-इंडेक्स ऑर्डर को निर्धारित करने की अनुमति देता है, जो कि विचार दूसरों के सामने/पीछे हैं।

<RelativeLayout 
    android:id="@+id/parent_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <LinearLayout 
     android:id="@+id/action_bar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="100dp"> 

    </LinearLayout> 
    <LinearLayout 
     android:id="@+id/main_activity_content_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

    </LinearLayout> 
</RelativeLayout> 

अब आप छिपा कर सकते हैं/action_bar_layout दिखाने के लिए और यह main_activity_content_layout में गतिविधि सामग्री की स्थिति को प्रभावित नहीं करेगा (setVisibility() लेआउट की विधि का उपयोग कर)

0

Google Play स्टोर प्रभाव की तरह, की कोशिश के लिए ...

  • this नया टूलबार विजेट लॉलीपॉप में पेश (एपीआई स्तर 21)
  • कौन सा भी एंड्रॉयड के पुराने संस्करणों में this एपीआई द्वारा समर्थित है की कोशिश करो।