Holoeverywhere:如何以编程方式在运行时删除活动中的操作栏

时间:2013-05-02 17:17:10

标签: android android-layout android-widget android-holo-everywhere

删除活动中的操作栏的正确方法是什么?

我的活动扩展了org.holoeverywhere.app.Activity

我有一个自定义的Application类,它扩展了org.holoeverywhere.app.Application并在启动时执行了这个静态代码:

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

在我的活动中:

protected void onCreate(Bundle savedInstanceState) {

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

如果我在代码中添加requestWindowFeature(Window.FEATURE_NO_TITLE),则在android 4.1.1 -table-上删除该栏  在手机-android 2.3.3上时,不会删除该栏。

在介绍holoevery之前,只有requestWindowFeature(Window.FEATURE_NO_TITLE).

,一切正常

在运行时删除holoeverywhere中的操作栏的正确方法是什么? (我想在运行时这样做,因为用户可以选择设置DARK或LIGHT布局,默认为DARK)

2 个答案:

答案 0 :(得分:24)

请参阅标志ThemeManager.NO_ACTION_BAR。 或者只是致电

getSupportActionBar().hide();

答案 1 :(得分:2)

您可以以编程方式执行此操作:

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

或者您可以通过AndroidManifest.xml文件执行此操作:

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

我添加了一些线条,以便您可以全屏显示,因为它似乎是您想要的。