android - AppCompat के लिए पूर्ण स्क्रीन थीम




android-actionbar android-theme (10)

मैं जानना चाहता हूं कि मैं एक गतिविधि में पूर्ण स्क्रीन थीम (कोई शीर्षक बार + कोई एक्शनबार) कैसे लागू कर सकता हूं। मैं समर्थन पैकेज v7 से AppCompat लाइब्रेरी का उपयोग कर रहा हूँ।

मैंने android:theme="@android:style/Theme.NoTitleBar.Fullscreen" को लागू करने की कोशिश की है android:theme="@android:style/Theme.NoTitleBar.Fullscreen" मेरी विशिष्ट गतिविधि में लेकिन यह दुर्घटनाग्रस्त हो गया। मुझे लगता है कि ऐसा इसलिए है क्योंकि मेरा आवेदन विषय इस तरह है।

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

मैंने यह भी कोशिश की है

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

जो केवल शीर्षक पट्टी छुपाता है लेकिन एक्शन बार नहीं। मेरा वर्तमान कामकाज यह है कि एक्शनबार को छुपाएं

getSupportActionBar().hide();

@nebyan के उत्तर के आधार पर, मैंने पाया कि एक्शन बार अभी भी छुपा नहीं रहा है।

निम्नलिखित कोड मेरे लिए काम करता है:

<style name="AppFullScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

AppCompat में शीर्षक पट्टी को निकालने के लिए:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }

आपका "वर्कअराउंड" (एक्शनबार को छुपाएं) सामान्य तरीका है। लेकिन जब टाइटलबार छुपा हुआ है तो Google हमेशा एक्शनबार को छिपाने की सिफारिश करता है। यहां एक नज़र डालें: https://developer.android.com/training/system-ui/status.html


एंड्रॉइड 4.0 (एपीआई स्तर 14) के संस्करणों के पहले और बाद में मुद्दे उत्पन्न होते हैं ..

यहां से https://developer.android.com/training/system-ui/status.html मैंने अपना स्वयं का समाधान बनाया ..

@SuppressLint("NewApi")
@Override
protected void onResume()
{
    super.onResume();

    if (Build.VERSION.SDK_INT < 16)
    {
        // Hide the status bar
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        // Hide the action bar
        getSupportActionBar().hide();
    }
    else
    {
        // Hide the status bar
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
        / Hide the action bar
        getActionBar().hide();
    }
}

मैं इस कोड को रेस्यूम () विधि में लिखता हूं क्योंकि यदि आप अपने ऐप से बाहर निकलते हैं और फिर आप इसे फिर से खोलते हैं, तो एक्शन बार सक्रिय रहता है! (और इसलिए यह समस्या को ठीक करता है)

मुझे उम्मीद है कि यह सहायक था;)


बस इस शैली में अपनी शैली के लिए:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item> </style>

यह माता-पिता = "@ शैली / थीम होना चाहिए। AppCompat.Light.NoActionBar"

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" 
parent="@style/Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

सिर्फ यह ?

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen">
    <item name="android:windowFullscreen">true</item>
</style>

<style name="Theme.AppCompat.Light.NoActionBar" parent="@style/Theme.AppCompat">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
</style>

Style.xml में उपरोक्त xml का उपयोग करके, आप शीर्षक के साथ-साथ एक्शन बार को छिपाने में सक्षम होंगे।


protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //to remove "information bar" above the action bar
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    //to remove the action bar (title bar)
    getSupportActionBar().hide();
}

requestWindowFeature(Window.FEATURE_NO_TITLE);




android-theme