9

Welcher ist die richtige Methode zum Entfernen der Aktionsleiste in einer Aktivität?Holoeverywhere: wie zur Laufzeit die Aktionsleiste programmgesteuert aus einer Aktivität entfernen

Meine Tätigkeit erstreckt sich org.holoeverywhere.app.Activity

ich eine benutzerdefinierte Anwendungsklasse haben, die org.holoeverywhere.app.Application und beim Start execs diese statische Code erweitert: in

ThemeManager.setDefaultTheme(ThemeManager.DARK); 
ThemeManager.map(ThemeManager.DARK, R.style.Holo_Demo_Theme); 
ThemeManager.map(ThemeManager.LIGHT, R.style.Holo_Demo_Theme_Light); 
ThemeManager.map(ThemeManager.MIXED, R.style.Holo_Demo_Theme_Light_DarkActionBar); 
ThemeManager.map(ThemeManager.DARK | ThemeManager.FULLSCREEN, R.style.Holo_Demo_Theme_Fullscreen); 
ThemeManager.map(ThemeManager.LIGHT | ThemeManager.FULLSCREEN, R.style.Holo_Demo_Theme_Light_Fullscreen); 
ThemeManager.map(ThemeManager.MIXED | ThemeManager.FULLSCREEN, R.style.Holo_Demo_Theme_Light_DarkActionBar_Fullscreen); 

meine Tätigkeit:

protected void onCreate(Bundle savedInstanceState) { 

    ThemeManager.removeTheme(this); 
    setTheme(ThemeManager.DARK | ThemeManager.FULLSCREEN); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login); 

wenn ich requestWindowFeature(Window.FEATURE_NO_TITLE) im Code hinzufügen, auf einem android 4.1.1 -table- der Bar wirdentferntwährend auf einem Mobilteil -android 2.3.3 - die Leiste wird nicht entfernt.

Vor holoeverywhere alles Einführung hat gut funktioniert mit nur requestWindowFeature(Window.FEATURE_NO_TITLE).

Welche der richtige Weg ist, zur Laufzeit die ActionBar in holoeverywhere entfernen? (ich es zur Laufzeit tun will, weil der Benutzer die Option hat ein dunkles oder helle Layout zu setzen, mit einem DARK default)

Antwort

23

Siehe Flag ThemeManager.NO_ACTION_BAR. Oder rufen Sie einfach

getSupportActionBar().hide(); 
+0

Dank Prototik, es funktioniert. – Maxj

+0

Es funktioniert auch mit setTheme (ThemeManager.DARK | ThemeManager.NO_ACTION_BAR); Ich habe ThemeManager.FULLSCREEN anstelle von NO_ACTION_BAR verwendet – Maxj

2

Sie können es programmatisch tun:

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Window; 
import android.view.WindowManager; 

public class ActivityName extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // remove title 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.main); 
    } 
} 

Oder Sie können es tun über AndroidManifest.xml Datei:

<activity android:name=".ActivityName" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"> 
</activity> 

habe ich ein paar Zeilen, damit Sie sie im Vollbild zeigen kann, wie es das ist, was scheint, Sie wollen.

+0

Dank für Antwort, aber in Ihrem Beispiel sind Sie nicht der holoeverywhere Bibliothek, aber die „reine“ Android SDK ... – Maxj

+0

Oh sorry ich oculdn't Ihnen helfen. Ich antwortete mit allem, von dem ich Kenntnis hatte. –

+0

Mit reinem SDK funktioniert alles. Nachdem ich die Bibliothek eingeführt habe, habe ich dieses Problem. Ich denke, es ist ein "dummes" Problem, aber die Bibliothek hat überhaupt keine Dokumentation! – Maxj