删除活动中的操作栏的正确方法是什么?
我的活动扩展了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)
答案 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>
我添加了一些线条,以便您可以全屏显示,因为它似乎是您想要的。