Android下强制显示ActionBar的overflow按钮

由于手机硬件情况的不同,在没有物理Menu键的手机上,ActionBar的overflow按钮会有显示不出来的情况,可以通过反射的方式修改ViewConfiguration类中的sHasPermanentMenuKey静态变量的值永远为false,系统就是根据这个变量值来判断手机有没有物理Menu键,代码如下:

@Override

protected void onCreate(Bundle savedInstanceState) {

……

setOverflowShowingAlways();

}

private void setOverflowShowingAlways() {

try {

ViewConfiguration config = ViewConfiguration.get(this);

Field menuKeyField = ViewConfiguration.class.getDeclaredField(“sHasPermanentMenuKey”);

menuKeyField.setAccessible(true);

menuKeyField.setBoolean(config, false);

} catch (Exception e) {

e.printStackTrace();

}

}

时间: 2024-10-09 02:29:36

Android下强制显示ActionBar的overflow按钮的相关文章

Android下强制显示ActionBar的overflowbutton

因为手机硬件情况的不同,在没有物理Menu键的手机上.ActionBar的overflowbutton会有显示不出来的情况,能够通过反射的方式改动ViewConfiguration类中的sHasPermanentMenuKey静态变量的值永远为false.系统就是依据这个变量值来推断手机有没有物理Menu键,代码例如以下: @Override protected void onCreate(Bundle savedInstanceState) { -- setOverflowShowingAlw

强制ActionBar显示OverFlow按钮(三个点)

关于ActionBar最右这三个点按钮: 正式的名称应该是 overflow menu,在android4.2.2以上的设备是默认出现的,但是android4.1.2的设备不显示,似乎android也没有提供显示的API,所以网上搜索到这个强制显示的方案(亲测可用). 关键代码如下: private void getOverflowMenu() { ViewConfiguration viewConfig = ViewConfiguration.get(this); try { Field ov

Android selector item 属性大全(按钮按下不同效果)

<selector>         必须.必须是根元素.包含一个或多个<item>元素.          Attributes:             xmlns:android                   String,必须.定义XML的命名空间,必须是                    “http://schemas.android.com/apk/res/android”.    <item> android:state_pressed Bool

Android下实现win8的按钮点击效果

原理就是自定义一个imageButton,实现动画效果 demo源码下载地址:  请戳这里----------------> 关于回弹张力的效果扩展,可以参考Facebook的开源动画库rebound: https://github.com/facebook/rebound Android下实现win8的按钮点击效果

ActionBar导航栏Overflow按钮不显示的情况

overflow按钮的显示情况和手机的硬件情况是有关系的,如果手机没有物理Menu键的话,overflow按钮就可以显示,如果有物理Menu键的话,overflow按钮就不会显示出来.,如下图所示 解决办法: /** * 初始化页面 */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.desktop);

Android导航栏ActionBar的详细分析 一

尊重原创:http://blog.csdn.net/yuanzeyao/article/details/39378825 关于ActionBar,相信大家并不陌生,但是真正能够熟练使用的也不是很多,这篇文章主要为大家详细介绍ActionBar的相关知识,ActionBar是在Android3.0中引入的概念,所以在2.x系统中使用ActionBar我们需要依赖ActionBarSherklock或者androi-support-v7库,ActionBarSherklock是anroid中非常有名

Android活动条(actionbar)使用详解(一)

活动条(ActionBar)是Android3.0的重要更新之一,ActionBar位于传统标题的位置,其主要提供了如下功能: >显示选项菜单的菜单项,即激昂菜单项显示在Action Item; >使用程序图标作为返回Home主屏或向上的导航操作; >提供交互式View作为Action View; >提供基于Tab的导航方式,可用于切换多个Fragment >提供基于下拉的导航方式 1.启用/关闭ActionBar Android3.0及以上版本已经默认启用了ActionBa

[Android]AndroidDesign中ActionBar探究1

概述 从Google IO 2013大会以来越来越多的Android应用开始遵循Android的设计风格,简单的就是google play和Gmail,在国内我们常用的软件像知乎.印象笔记,主要的界面主要是左侧的抽屉菜单(参照).顶部和底部的ActionBar(参照)等.由于以前都是遵循Ios的设计开始开发的一些,现在在公司,公司开始推崇Android Desgin(我们公司总是走在前列啊,现在Team 开发的 Version Control开始在Git开发),我们也必须要看下ActionBar

Android控件ActionBar浅析及适配2.x的方法介绍

概述: 在Honeycomb版本系统中,Android引入了全新的操作栏.操作栏不仅取代了显示标题和应用图标的传统标题栏(title bar),还带来了更多其他的功能,例如,安置菜单选项.配置应用图标作为导航按钮,等等.--<Android编程权威指南> 优点: 1.使用方便,避免开发者重复制造轮子. 2.框架成熟,不需要开发者再去做多余的适配不同分辨率及碎片化优化操作. 正常使用(API14及以上): 代码及思路分析: 正常情况下的我们是通过Java代码和xml代码组合来编写actionba