<!-- Variation on the Light theme that turns off the title -->
<style name="MyTheme" parent="android:style/Theme.Black">
<item name="android:windowNoTitle">true</item>
</style>
Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
//Remove¡ing title bar
getSupportActionBar().setDisplayShowTitleEnabled(false);
//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//set content view AFTER ABOVE sequence (to avoid crash)
this.setContentView(R.layout.your_layout_name_here);
30 回答
第一个答案是闪石 . 这是我的解释:添加:
在oncreate()方法中 .
之前:
(不仅仅是在setContentView之前)如果不这样做你将获得forceclose . 1这个答案 .
正确的答案可能是不扩展ActionbarActivity而只是扩展Activity
如果你仍然使用actionbar活动似乎这是工作:
似乎这也有效:
我可以像斯科特比格斯写的那样做 . 这种作品 . 除了那时没有主题 . 我的意思是设置菜单的背景是透明的:
只是改变
到Activity或FragmentActivity
但是我可以使用材料设计使其看起来不够好而不删除操作栏:https://gist.github.com/shimondoodkin/86e56b3351b704a05e53
设置应用程序图标
设置动作栏的颜色以匹配设计 .
将图标设置为设置菜单
添加更多图标(顶部的按钮)
它是通过材料设计兼容性动作栏样式的例子 .
要隐藏 Headers 和操作栏,我这样做了:
在Manifest的活动标签中:
在setContentView之前的Activity.java中:
即,
//删除 Headers 栏
//删除通知栏
NOTE :您需要在
setContentView
之前保留这些行什么对我有用:
1- in styles.xml:
2-在MainActivity中
清单中的
只需在主活动
onCreate()
方法中使用getActionBar().hide();
即可 .我现在做了以下事情 .
我声明了一种样式,从我的一般样式继承了所有内容,然后禁用了titleBar .
现在我可以将这个样式设置为每个Activity,我想隐藏 Headers 栏覆盖应用程序范围的样式并继承所有其他样式信息,因此样式代码中没有重复 .
要将样式应用于特定活动,请打开
AndroidManifest.xml
并将以下属性添加到activity
标记;创建如下主题 .
如果您使用
this.requestWindowFeature(Window.FEATURE_NO_TITLE)
,当活动通过onCreate
开始时,用户仍然可以在启动动画期间看到 Headers 栏 . 如果您使用@android:style/Theme.Black.NoTitleBar
,如下所示,则在启动动画期间不会显示 Headers 栏 .上面的例子显然会覆盖你现有的应用程序主题,如果你有现有的主题,那么添加
<item name="android:windowNoTitle">true</item>
.您可以在java文件中使用此代码
在设置或加载视图之前添加此行
我不喜欢
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
,因为 Headers 栏会短暂出现,然后消失 .我也不喜欢
android:theme="@android:style/Theme.NoTitleBar"
,因为我丢失了新设备用户已经习惯的所有3.0 Holo更改 . 所以我遇到了这个解决方案 .在 res/values 文件夹中创建一个名为 styles.xml 的文件(如果它尚不存在) . 在该文件中放置以下代码:
接下来用另一个 styles.xml 文件创建一个 res/values-v11 (这可能已经存在了) . 在该文件中放置以下代码:
如果您的目标是4.0,请使用另一个 styles.xml 文件创建一个 res/values-v14 文件夹(是的,它可能已存在) . 在该文件中放置以下代码:
最后,创建所有这些文件后,打开 AndroidManifiest.xml 文件即可添加代码:
如果要将其应用于整个应用程序,则为您不想要 Headers 的活动的活动标记或应用程序标记 .
现在,您的用户将获得与其设备版本相关联的主题以及您想要的屏幕布局 .
附:将值更改为
android:theme="@style/Theme.FullScreen"
将具有相同的效果,但也会删除通知栏 .添加最明显的文件,
将以下行添加到ur java文件中,
对于
AppCompat
,以下解决方案为我工作:在
styles.xml
中添加没有操作栏的新主题样式并设置parent="Theme.AppCompat.NoActionBar"
.现在在
androidManifest.xml
中为您的启动画面活动实现相同的主题样式结果如下:
嗯,您可以在XML中将主题应用于个别活动,例如无 Headers . 换句话说,将其从应用程序标记中取出,打开标记声明并将其放入所需的活动标记中 .
这解决了我的问题
在清单中我的活动:
在“AppTheme”名下的风格:
这就是完整代码的样子 . 注意导入android.view.Window .
在AndroidManifest.xml上的活动中添加主题@ style / Theme.AppCompat.Light.NoActionBar,就像这样
为您使用的主题添加这两个:
在我的例子中,如果您使用的是android studio 2.1,并且您的编译SDK版本是6.0,那么只需转到您的manifest.xml文件,然后更改以下代码:
这是代码:
这是剪辑(见高亮代码):
我发现可能发生此错误的两个原因 .
One. 已在
super.onCreate(savedInstanceState);
中设置了Window标志,在这种情况下,您可能需要使用以下命令顺序:Two. 您在TitleBar中有后退/上移按钮,这意味着当前活动是另一个活动的层次结构子项,在这种情况下,您可能希望注释掉或从
onCreate
方法中删除此行代码 .我正在使用支持小工具工具栏v7 . 因此,为了能够删除或隐藏 Headers ,我们需要写这个 .
在
onCreate
方法中,使用以下代码段:或者,如果您想在任何时候隐藏/显示 Headers 栏:
如果从
DarkActionBar
替换定义,您只需要在Style.xml中更改AppTheme
样式到
NoActionBar
AppTheme在AndroidManifast.xml中定义
在
onCreate()
方法中执行此操作 .this
指的是Activity
.如果您使用YaW和Doug Paul所说的用户,那么您必须记住在调用setContentView之前必须设置窗口功能 . 如果没有,您将获得例外 .
Headers 栏可以通过开发者Android页面上提到的两种方式删除:
在
manifest.xml
文件中:application
中添加以下内容:当我试图使用所有那些高评价的答案我的应用程序总是崩溃 . (我认为它与“@android:style”有关?)
对我来说最好的解决方案是使用以下内容:
没有 Headers / Headers 栏了 . 只需将它放在
<application>...</application>
或<activity>...</activity>
中,具体取决于您(不)在整个应用程序中或仅在特定活动中想要它 .您可以修改
AndroidManifest.xml
:如果您不需要全屏活动,请使用
android:theme="@android:style/Theme.Black.NoTitleBar"
.Note: 如果您之前使用've used a '默认'查看,您可能还应该将父类从
AppCompatActivity
更改为Activity
.将此样式添加到style.xml文件中
之后,将此样式名称引用到您不希望看到 Headers 栏的特定活动的androidManifest.xml中,如下所示 .
加
<item name="android:windowNoTitle">true</item>
在AppTheme内(styles.xml)