作为半路出家做android app的人,对android很多东西不是很熟悉,造成很多苦恼,

测试机是4.2.2的系统,

之前的app没有menu键,也没有实体键,发现是因为

<activity
            android:name="com.nufront.mediacenter.LauncherActivity"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar"
            android:label="@string/app_name" > 

没有title bar 导致的。

=====

参考http://www.2cto.com/kf/201206/136813.html

添加ActionBar
     不需要导入ActionBar,因为在android3.0或者以上版本中,ActionBar已经默认的包含在Activity中
     在Android3.0的默认主题“holographic”中,已经创造了ActionBar
     当android:minSdkVersion 或者 android:targetSdkVersion属性被设置成11或者更高时,应用会被认为是Android3.0版本(默认含有ActionBar)
去除ActionBar 
     我们可以通过把主题设置为Theme.Holo.NoActionBar为一个Activity去除掉ActionBar。

<activity android:theme="@android:style/Theme.Holo.NoActionBar">

======================

现在又发现一个app没有menu键,但是是有title的,

找了好久解决不了问题,很奇怪为啥几乎一样xml配置的其他app 在action bar上就有menu呢?

看到http://blog.csdn.net/penglijiang/article/details/7844514 说,

  1. <uses-sdk
  2. android:minSdkVersion="8"
  3. android:targetSdkVersion="15"

把android:targetSdkVersion改为10,可以暂时解决这个问题,就是在虚拟按键旁边有这个menu键了。。。

但是,

看到 http://www.whatsapp.com/faq/zh_cn/android/21228643 说,4.0和4.2的位置不一样的,

看这个 http://www.2cto.com/kf/201206/136813.html 说,应该上头的那个地方就叫做 action bar,

其他app也是跟我一样的target version,人家就好好的。

怎么才能在上面的操作栏 显示那三个点的menu键呢?

===========后来发现api > 10 就不好用了 参考 http://blog.csdn.net/jiaoyang623/article/details/10526073

在Activity的onCreate中设置flag

[java]  view plain copy
  1. getWindow().setFlags(WindowManager.LayoutParams.FLAG_NEEDS_MENU_KEY, WindowManager.LayoutParams.FLAG_NEEDS_MENU_KEY);

或者

[java]  view plain copy
  1. getWindow().setFlags(0x08000000, 0x08000000);  

这么改的话,可以控制某个Activity有菜单,某个没有。

我用的第二个方法,menu键ok!

=====

参考http://blog.csdn.net/klpchan/article/details/9749569

1】应用图标、2】AcationBar菜单项 3】AB溢出菜单项,下面还可以看到Tab标签,这些都可以在ActionBar在显示出来。ActionBar是在API11以后才引入的,如果想在早期版本中使用该组件,可以导入android.suppor.v7.app.actionbar。参考http://developer.android.com/tools/support-library/setup.html设置库。对于targetSdkVersion在11或者以上的应用来说,默认主题"Theme.Holo"使用了ActionBar,如果不想使用该组件,可以设置主题为"Theme.Holo.NoActionBar"。

可知,api11之上,默认主题都是有menu键的

于是, 指定主题:

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:theme="@android:style/Theme.Holo"        

        >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >

<intent-filter>
                <action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

</application>

logo title 和 menu 都能看到了。

为啥app没有menu键?相关推荐

  1. 平板界面状态栏按下menu键显示不出,无响应

    1.问题描述: 在4.1的系统下,调试机器是768*1024的 默认:  在launcher 界面时状态栏显示menu键,menu键可以显示,但是按下menu键时却没有相应界面弹出, 但是原来的机器: ...

  2. 仿Drinkspiration App的menu

    做了一個仿Drinkspiration App的menu 不知道Drinkspiration的人可以看這個視頻 使用方法請參考demo code裡的readme  CurveDemo.zip 转载于: ...

  3. 屏蔽android的menu键,使menu键不能用,自定义menu键

    在Activity中重写onKeyDown方法,Menu键被屏蔽但HOME键未被屏蔽,其中还HOME屏蔽在我的另外一篇博客中已详细介绍,下面来解决Menu键被屏蔽,让其中MENU键有效. 屏蔽andr ...

  4. LockScreen时MENU键

    升级到2.3.7后,发现在启动后,LockScreen状态下,按MENU键不像2.2中那样可以解锁屏幕了. 原来,是被overlay了. 在device/samsung/smdkv210/overla ...

  5. Android中添加Options Menu,按MENU键无反应

    自已开发的一个日历项目,其中一个显示日程列表的Activity只有一个ListView,数据来源于数据库. 在这个xxxActivity.java里面添加了: /** Create menu. */ ...

  6. Cocos2dx 响应Android返回键和Menu键

    1.在layer中调用: setKeypadEnabled(true);//设置相应按键消息 layer中重写以下两个方法: virtual void keyBackClicked(); //响应返回 ...

  7. 安卓模拟器使用问题1:没有menu键

    这是因为新版的安卓模拟器是没有menu键的,我当时看的书是"第一行代码",书里面是有menu键的,当时找了很久,然后又百度,才知道想在模拟器使用menu键只能使用键盘的快捷键,而m ...

  8. Android监听返回键、Menu键、Home键、

    back键 监听back键还是很简单的,有两种方法: 调用onBackPressed()方法:调用此方法会自动调用finish(). @Override public void onBackPress ...

  9. android 障蔽Home键, 屏蔽BACK键,MENU键

    屏蔽Home键 @Override public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutPa ...

最新文章

  1. 计算机基本知识培训稿,计算机基础知识培训稿.doc
  2. (转)Response.Redirect 打开新窗口的两种方法
  3. php管理用户名和密码,管理员用户名/密码不适用于PHP
  4. markdown中添加锚点
  5. oracle distinct用法
  6. fetch用英语解释_初中英语重点知识点,初中三年必须掌握!
  7. CSS3实践之路(一):CSS3之我观
  8. SparkStreaming基础
  9. Strust2用户注册,使用token防止刷新重复提交
  10. JVM优化系列-对象内存分配和回收的细节
  11. go语言学习--string、int、int64互相转换,字符串的截取,数组和字符串的转换
  12. Vertica系列: Vertica DB连接负载均衡
  13. 郑州没有互联网 | 畅言
  14. liunux 查看系统参数、网络参数的命令
  15. 【生物信息】影像组学入门实践成长营(14天)
  16. FlashFXP 便携版,U盘版,真正绿色
  17. 一个简单的Python樱花飘落动画代码
  18. 少数派实测报告:AI巨无霸模型GPT-3 | 附送API 调用方法「AI核心算法」
  19. K22中使用UART的IDLE Line功能
  20. linux 分析nginx日志,Linux Awk使用案例总结-nginx日志统计

热门文章

  1. 个人随意总结知识——数据结构教程(第5版)【李春葆】
  2. A1,A2,A3,A4纸的尺寸大小|A4纸与分辨率的关系|像素换算|ABC号纸尺寸|纸张幅面规格
  3. linux静态链接库添加,c-静态链接库时,出现链接器错误:找不到-...
  4. 多叉路口交通灯问题,输入任意道口数输出排序解决方案
  5. 陶泓达:实力指导短线交易策略!让你翻仓回本
  6. ElasticSearch IK Analyzer 远程扩展字典remote_ext_dict无效
  7. freemaker生成doc文档(特殊字符导致异常)
  8. 短视频社交|电影点播平台Springboot+vue+ElementUI前后端分离
  9. 并发编程含义比较广泛,包含多线程编程、多进程编程及分布式程序等 目录 1. “共享内存系统”,消息传递系统”。 1 1.1. 共享模式 多进程 多线程 1 1.2. Actor消息模式 事件驱动 2
  10. CSS+HTML学习笔记005