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




android-actionbar android-theme (12)

मैं जानना चाहता हूं कि मैं एक गतिविधि में पूर्ण स्क्रीन थीम (कोई शीर्षक बार + कोई एक्शनबार) कैसे लागू कर सकता हूं। मैं समर्थन पैकेज 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();

यह माता-पिता = "@ शैली / थीम होना चाहिए। 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" 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 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>

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

यह विषय केवल एपीआई 21 (शामिल) के बाद काम करता है। और स्टेटसबार और नेविगेशनबार पारदर्शी दोनों बनाएं।

<style name="TransparentAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  <item name="windowActionBar">false</item>
  <item name="windowNoTitle">true</item>
  <item name="android:statusBarColor">@android:color/transparent</item>
  <item name="android:windowBackground">@android:color/transparent</item>
  <item name="android:navigationBarColor">@android:color/transparent</item>
  <item name="android:windowIsTranslucent">true</item>
  <item name="android:windowContentOverlay">@null</item>
</style>

आप नीचे दिए गए चरणों का पालन कर सकते हैं: -

AndoridMenifest.xml

<activity
            android:name=".ui.FullImageActivity"
            android:label="@string/title_activity_main"
            android:screenOrientation="landscape"
            android:theme="@style/DialogTheme">
        </activity>

Style.xml

<style name="DialogTheme" parent="android:Theme.Dialog">

    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">fill_parent</item>

   <!-- No backgrounds, titles or window float -->
    <item name="android:windowNoTitle">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowIsFloating">false</item>
</style>

FullImageActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    setContentView(R.layout.image_view);
     }

मुझे आशा है कि इससे मदद मिलेगी .. धन्यवाद !!


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

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

जब आप अपने एप्लिकेशन में Theme.AppCompat का उपयोग करते हैं तो आप नीचे दिए गए कोड को शैलियों में जोड़कर FullScreenTheme का उपयोग कर सकते हैं।

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light">
    <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>

और अपनी मेनिफेस्ट फ़ाइल में भी उल्लेख करें।

<activity
   android:name=".activities.FullViewActivity"
   android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen" 
/>

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


सिर्फ यह ?

<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 का उपयोग करके, आप शीर्षक के साथ-साथ एक्शन बार को छिपाने में सक्षम होंगे।


requestWindowFeature(Window.FEATURE_NO_TITLE);




android-theme