去掉标题栏/ActionBar后点击menu键时应用崩溃

MainActivity 继承了 ActionBarActivity后,想要去掉标题栏(ActionBar),在程序中加上requestWindowFeature(Window.FEATURE_NO_TITLE);,结果标题栏是去掉了,但是在点击Menu键时应用会崩溃。在网上找了一下解决方法,都是把MainActivity继承ActionBarActivity改为继承Activity,这样虽然能够解决问题,但是如果一定是要继承ActionBarActivity不能改的话要怎么办呢?例如在我的程序里,需要调用getSupportFragmentManager(),如果MainActivity继承Activity的话我就没办法调用此函数。

解决办法:去掉requestWindowFeature(Window.FEATURE_NO_TITLE);这一句,改为下面两句:

ActionBar actionBar=getSupportActionBar();
actionBar.hide();

附:Android系统自带样式

在xml文件中进行配置

在项目的清单文件AndroidManifest.xml中,找到需要全屏或设置成无标题栏的Activity,在该Activity进行如下配置即可。

android:theme="@android:style/Theme.Dialog" 将一个Activity显示为能话框模式 
android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏 
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不显示应用程序标题栏,并全屏 
android:theme="Theme.Light" 背景为白色 
android:theme="Theme.Light.NoTitleBar" 白色背景并无标题栏 
android:theme="Theme.Light.NoTitleBar.Fullscreen" 白色背景,无标题栏,全屏 
android:theme="Theme.Black" 背景黑色 
android:theme="Theme.Black.NoTitleBar" 黑色背景并无标题栏 
android:theme="Theme.Black.NoTitleBar.Fullscreen" 黑色背景,无标题栏,全屏 
android:theme="Theme.Wallpaper" 用系统桌面为应用程序背景 
android:theme="Theme.Wallpaper.NoTitleBar" 用系统桌面为应用程序背景,且无标题栏 
android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" 用系统桌面为应用程序背景,无标题栏,全屏 
android:theme="Translucent"  透明背景
android:theme="Theme.Translucent.NoTitleBar"  透明背景并无标题
android:theme="Theme.Translucent.NoTitleBar.Fullscreen"  透明背景并无标题,全屏
android:theme="Theme.Panel"   面板风格显示
android:theme="Theme.Light.Panel" 平板风格显示

时间: 2024-10-07 09:30:37

去掉标题栏/ActionBar后点击menu键时应用崩溃的相关文章

实现点击menu键popupWindow显示和消失

转载请注明出处,谢谢 http://blog.csdn.net/harryweasley/article/details/45217273 最近想实现一个这样的功能:点击menu键,popupWindow显示出来,再点击menu键,popupWindow消失,同时也可以点击正常的按钮使popupWindow出来和消失. 我说的是不是有点乱,那就看下具体的效果图,就像微信的这个效果一样的,如图所示: 这个popupWindow既可以通过点击"+"号出来,也可以点击menu键出来,当然也可

禁用menu键

发现很多应用中基本不再使用menu键来显示菜单了,而在android studio中创建一个activity时,默认使用了actionBar,就是在右上角会显示三个点的内容,点击会出现Settings,当点击menu键时,在屏幕下方也会出现Settings菜单.如何禁用menu呢,重写onKeyDown方法即可.直接看代码 1 @Override 2 public boolean onKeyDown(int keyCode, KeyEvent event) { 3 if(keyCode == K

startactivityforresult点击back键

近期在开发android项目时, Activity1使用startactivityforresult方法跳转到Activity2,但是点击back键时,报错. 解释: 当不满足触发条件就按返回键的时候,就要对此进行检测.尤其是当前Activity需要往前一个Activity传送消息时.即Activity1跳转到Activity2如果采用的是startActivityForResult这种方式,如果不重写返回键,程序不知道要返回给Activity1什么内容就会报错.因此,必须对Activity2的

Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析

前言 前些天,测试MM发现了一个比较奇怪的bug. 具体表现是: 1.将app包通过电脑QQ传送到手机QQ上面,点击安装,安装后选择打开app (此间的应用逻辑应该是要触发 [闪屏页Activity], 然后跳转 [主页Activity]) 2.然后MM在 [主页Activity] 时按下了 [Home键],回到桌面 3.再点击app的icon图标,原谅耿直的我们都是觉得应该直接回到[主页Activity],但是结果却是又一次触发 [闪屏页Activity],亮瞎了24K钛合金狗眼的我们觉得这玩

【转载】Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析

前言 前些天,测试MM发现了一个比较奇怪的bug. 具体表现是: 1.将app包通过电脑QQ传送到手机QQ上面,点击安装,安装后选择打开app (此间的应用逻辑应该是要触发 [闪屏页Activity], 然后跳转 [主页Activity]) 2.然后MM在 [主页Activity] 时按下了 [Home键],回到桌面 3.再点击app的icon图标,原谅耿直的我们都是觉得应该直接回到[主页Activity],但是结果却是又一次触发 [闪屏页Activity],亮瞎了24K钛合金狗眼的我们觉得这玩

Back键和Menu键程序退出弹窗以及按钮退出程序弹窗的实现

MainActivity.java package com.loaderman.backmenudemo; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.KeyEvent; import android.view.LayoutInfla

Android标题栏上添加多个Menu按钮

最近项目中碰到要在Android Menu旁边再添加一个按钮,而不是点击menu按钮然后在弹出一些选项. MainActivity代码: public class MainActivity extends Activity { private static final int MENU_CONFIRM = 17; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceS

Android安装应用后点击"打开"(Open)带来的问题及解决方式

MainActivity如下: package cc.cc; import android.app.Activity; import android.content.Intent; import android.os.Bundle; /** * Demo描述: * * 一年多前遇到一个问题--->: * 1 客户从GooglePlay上下载了我参与的开发的应用 * 2 下载完成后,点击安装 * 3 安装完成后,在屏幕底部有两个选项"打开"和"完成" * 4 点

安卓Menu键的问题

近期开发中有须要Menu键,结果发现了一个非常尴尬的问题.我的測试机上有Menu键.可是測试平板上没有,队友的測试机上竟然也没有Menu键.这着实有些尴尬... 上网谷歌之后才发现问题所在: 仅仅有在android 4.0 之前的机器中,menu 键是才作为硬件存在的,之后的机器有的有.有的就没有了,比方三星的S3,Note2等等都是有这个按键的.可是很多其它的手机取消了这个按键.所以假设project中实用到这个按键,那就必须调低最低版本号, 比方android 2.2 的project,跑到