9

Jaki jest poprawny sposób usunięcia paska akcji wewnątrz działania?Holoeverywhere: sposób programowego usuwania w czasie wykonywania paska działań z działania

Moja aktywność rozciąga org.holoeverywhere.app.Activity

Mam niestandardowej klasy aplikacji, która rozciąga org.holoeverywhere.app.Application i co kierownictwem startowych ten kod statyczny:

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

w moja aktywność:

protected void onCreate(Bundle savedInstanceState) { 

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

jeśli dodam requestWindowFeature(Window.FEATURE_NO_TITLE) w kodzie, na android 4.1.1 -table- baru usuwa na słuchawce -android 2.3.3 - pasek nie jest usuwany.

Przed wprowadzeniem holoeverywhere wszystko działało dobrze z tylko requestWindowFeature(Window.FEATURE_NO_TITLE).

który jest właściwy sposób, aby usunąć przy starcie z actionbar w holoeverywhere? (chcę to zrobić w czasie wykonywania, ponieważ użytkownik ma możliwość ustalenia układu ciemne lub zbyt jasne, z domyślnie ciemności)

Odpowiedz

23

Zobacz flagę ThemeManager.NO_ACTION_BAR. Albo po prostu zadzwoń

getSupportActionBar().hide(); 
+0

Dzięki Prototik, działa. – Maxj

+0

Działa również z setTheme (ThemeManager.DARK | ThemeManager.NO_ACTION_BAR); Używałem ThemeManager.FULLSCREEN zamiast NO_ACTION_BAR – Maxj

2

Można to zrobić programowo:

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

Albo można to zrobić za pośrednictwem AndroidManifest.xml pliku:

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

dodałem kilka linii, aby można było pokazać je w trybie pełnoekranowym, jak się wydaje, że to, co chcesz.

+0

dzięki za odpowiedź, ale na swoim przykładzie, że nie używasz holoeverywhere biblioteki, ale „czysty” Android SDK ... – Maxj

+0

Och przepraszam oculdn't mi pomóc. Odpowiedziałem, cokolwiek wiedziałem. –

+0

Z czystym SDK wszystko działa. Po wprowadzeniu biblioteki mam ten problem. Myślę, że to "głupi" problem, ale biblioteka NIE ma w ogóle żadnej dokumentacji! – Maxj

Powiązane problemy