Vollbild-Design für AppCompat

Lesezeit: 5 Minuten

Vollbild Design fur AppCompat
Ye Lin Aung

Ich würde gerne wissen, wie ich das Vollbilddesign (keine Titelleiste + keine Aktionsleiste) auf eine Aktivität anwenden kann. Ich verwende die AppCompat-Bibliothek aus dem Supportpaket v7.

Ich habe versucht mich zu bewerben android:theme="@android:style/Theme.NoTitleBar.Fullscreen" zu meiner spezifischen Aktivität, aber es stürzte ab. Ich denke, das liegt daran, dass mein Anwendungsthema so ist.

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

Auch dies habe ich probiert

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

die nur die Titelleiste, aber nicht die Aktionsleiste ausblendet. Mein aktueller Workaround ist das Ausblenden der Actionbar mit

getSupportActionBar().hide();

  • Antwort mit Ausgabe-Screenshot

    Hier können Sie überprüfen

    – Sanjayrajsinh

    5. März 2021 um 12:49 Uhr

  • Antwort mit Ausgabe-Screenshot

    Hier können Sie überprüfen

    – Sanjayrajsinh

    5. März 2021 um 12:50 Uhr

Vollbild Design fur AppCompat
nebyan

Wenn Sie Theme.AppCompat in Ihrer Anwendung verwenden, können Sie FullScreenTheme verwenden, indem Sie Stilen den folgenden Code hinzufügen.

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

und auch in Ihrer Manifestdatei erwähnen.

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

  • Der übergeordnete Stil sollte “Theme.AppCompat.Light.NoActionBar” sein.

    – Schwebe Ruan

    24. Januar 2015 um 12:50 Uhr


  • Eigentlich reicht es aus, dies zur Stil-XML-Datei hinzuzufügen: true. Die Sichtbarkeit der Aktionsleiste (Titelleiste) kann mithilfe von .hide/.show-Methoden zur Laufzeit separat gesteuert werden.

    – Amin

    14. März 2016 um 9:06 Uhr


  • FEATURE_NO_TITLE wurde nicht berücksichtigt. Den Unterschied weiß ich nicht, aber ich habe schließlich meine Aktivität geändert, um die Aktivität anstelle von AppCompatActivity zu erweitern, und mein Code funktionierte (zum Glück brauche ich AppCompat nicht): this.requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

    – Benutzer888867

    18. November 2016 um 5:00 Uhr


  • Dadurch wird auch die Statusleiste ausgeblendet 🙁

    – Oma

    28. November 2016 um 6:53 Uhr

  • Ich würde hinzufügen hideNavigation() in onResume() – ohne das war die Navigationsleiste in meiner App noch sichtbar (api 18+)

    – Antek

    10. Juli 2017 um 9:17 Uhr

Vollbild Design fur AppCompat
Schwebe Ruan

Basierend auf der Antwort von @nebyan habe ich festgestellt, dass sich die Aktionsleiste immer noch nicht versteckt.

Folgender Code funktioniert bei mir:

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

und vergessen Sie natürlich nicht, Ihre zu bearbeiten AndroidManifest Datei.

<activity
    android:name="YOUR_ACTIVITY_NAME"
    android:theme="@style/AppFullScreenTheme" 
/>

  • @nebyan warum funktioniert deine Lösung nicht und diese funktioniert bei mir? Was ist der Grund?

    – ahmet

    17. März 2017 um 11:26 Uhr

  • keine Notwendigkeit zu setzen <item name="android:windowNoTitle">true</item> <item name="android:windowActionBar">false</item> wenn Ihr Thema enthält .NoActionBar

    – Benutzer924

    2. Dezember 2018 um 16:09 Uhr


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

Wenn Sie das obige XML in style.xml verwenden, können Sie sowohl den Titel als auch die Aktionsleiste ausblenden.

1646257991 22 Vollbild Design fur AppCompat
Krhashis M

Probleme treten zwischen Versionen vor und nach Android 4.0 (API-Ebene 14) auf.

von Hier
Ich habe meine eigene Lösung erstellt.

@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();
    }
}

Ich schreibe diesen Code in die Methode onResume(), denn wenn Sie Ihre App verlassen und sie dann erneut öffnen, bleibt die Aktionsleiste aktiv! (und damit wird das Problem behoben)

Ich hoffe es war hilfreich 😉

Ihr “Workaround” (das Ausblenden der Aktionsleiste selbst) ist der normale Weg. Aber Google empfiehlt, die ActionBar immer auszublenden, wenn die TitleBar ausgeblendet ist. Schau mal hier: https://developer.android.com/training/system-ui/status.html

1646257991 303 Vollbild Design fur AppCompat
Shuyan Ji

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();
}

1646257992 325 Vollbild Design fur AppCompat
Jagdish

Sie können dem folgenden Schritt folgen:-

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);
     }

Ich hoffe, es wird helfen.. Danke!!

916500cookie-checkVollbild-Design für AppCompat

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy