文档章节

a20隐藏底部按钮及隐藏状态栏和虚拟按键栏

wangjian19
 wangjian19
发布于 2013/12/11 18:09
字数 389
阅读 423
收藏 0
点赞 0
评论 0

隐藏RecentButton按钮:

在源码android4.2/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java的makeStatusBarView()方法中添加(这是全志android4.2.2版本(SDK1.3)的路径)

{Z:\A20_V3.0.1\android\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\NavigationBarView.java这是全志android4.2.2版本(SDK3.0)的路径}

mRecentButton.setVisibility(View.GONE);

代码位置(makeStatusBarView()方法中):

        // The navigation buttons
        mBackButton = (ImageView)sb.findViewById(R.id.back);
        mNavigationArea = (ViewGroup) sb.findViewById(R.id.navigationArea);
        mHomeButton = mNavigationArea.findViewById(R.id.home);
        mMenuButton = mNavigationArea.findViewById(R.id.menu);
        mVolumeDownButton = mNavigationArea.findViewById(R.id.volume_down);
        mVolumeUpButton = mNavigationArea.findViewById(R.id.volume_up);
        mRecentButton = mNavigationArea.findViewById(R.id.recent_apps);
        mRecentButton.setOnClickListener(mOnClickListener);
                mRecentButton.setVisibility(View.GONE);//wangjian
        
        mScreenShotButton = mNavigationArea.findViewById(R.id.screenshot);
        mScreenShotButton.setOnClickListener(mOnClickListener);
        
        LayoutTransition lt = new LayoutTransition();
        lt.setDuration(250);

我没有验证留下一下代码的可行性,为了保险我屏蔽了setNavigationVisibility(int visibility)方法中的

mRecentButton.setVisibility(disableRecent ? View.INVISIBLE : View.VISIBLE);

这段代码,位置如下(橘色部分):


    private void setNavigationVisibility(int visibility) {
        boolean disableHome = ((visibility & StatusBarManager.DISABLE_HOME) != 0);
        boolean disableRecent = ((visibility & StatusBarManager.DISABLE_RECENT) != 0);
        boolean disableBack = ((visibility & StatusBarManager.DISABLE_BACK) != 0);

        
        boolean disableVolumeUp = (visibility != 0);
        boolean disableVolumeDown = (visibility != 0);
        
        mBackButton.setVisibility(disableBack ? View.INVISIBLE : View.VISIBLE);
        mHomeButton.setVisibility(disableHome ? View.INVISIBLE : View.VISIBLE);
        //mRecentButton.setVisibility(disableRecent ? View.INVISIBLE : View.VISIBLE);


        
        if(mContext.getResources().getBoolean(R.bool.hasVolumeButton))
        {
            mVolumeUpButton.setVisibility(disableVolumeUp ? View.INVISIBLE : View.VISIBLE);
            mVolumeDownButton.setVisibility(disableVolumeDown ? View.INVISIBLE : View.VISIBLE);
        }

这样就可隐藏RecentButton,隐藏MenuButton,screenshot按钮方法如下:

在源码android4.2/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarView.java中

将所有         menu.setVisibility(View.VISIBLE);
                screenshot.setVisibility(View.VISIBLE);两个设置改为

                menu.setVisibility(View.GONE);
                screenshot.setVisibility(View.GONE);

这个方法比较蠢,但管用!可以试试!

如果要彻底隐藏状态栏和底部虚拟按键可以在

android\frameworks\base\core\res\res\values\dimens.xml中将status_bar_height、navigation_bar_height、navigation_bar_height_landscape这三个值改为0即可,如下:

    <dimen name="status_bar_height">0dip</dimen>

    <!-- Height of the bottom navigation / system bar. -->

    <dimen name="navigation_bar_height">0dp</dimen>

    <!-- Height of the bottom navigation bar in portrait; often the same as @dimen/navigation_bar_height -->

    <dimen name="navigation_bar_height_landscape">0dp</dimen>

如图

© 著作权归作者所有

共有 人打赏支持
wangjian19
粉丝 15
博文 60
码字总数 101397
作品 0
深圳
高级程序员
如何适配Android底部虚拟按键

前言 本文章只做一个记录,一个备忘,也为了更好的帮助他人,文章参考地址:Android适配底部虚拟按键的方法 问题说明 项目进行中需要透明渐变的状态栏,全屏显示,当然透明渐变好弄,方法有很...

no白菜
04/13
0
0
动态显示和隐藏状态栏(包括底部虚拟按键)

小米Launcher有一个细节上的功能效果:在长按桌面应用图标时,会隐藏状态栏,然后在状态栏原有的布局上显示卸载或删除的操作栏。放手后,操作栏隐藏,状态栏显示出来。也就是说,这个过程是涉...

不正经啊不正经
2015/07/29
0
1
Android Activity设置全屏

Activity设置全屏显示(隐藏标题栏和状态栏): 方法一: 在Activity oncreate()方法中 //隐去电池等图标和一切修饰部分(状态栏部分) this.getWindow().setFlags(WindowManager.LayoutParams...

SRain215
2016/07/05
69
2
Android简单实现系统状态栏设置

github代码直通车 啥也不说了,先上效果图: giphy.gif 设置状态栏透明,通过添加WindowManager.LayoutParams.FLAGTRANSLUCENTSTATUS属性设置。 给状态栏设置颜色: 1.首先调用上面的setTran...

翻滚吧李博
2017/11/23
0
0
android 动态显示和隐藏状态栏

View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。 setSystemUiVisibility(int visibility)方法可...

Jamsm
2016/02/02
131
0
Find Toolbar Tweaks

优化查找栏的即输即查显示和功能。 当前特性: 1. 移动关闭按钮的位置。这里有 4 个位置可供您选择:右侧底部、左侧底部、居中以及隐藏该按钮。 2. 双击关闭查找栏。 3. 隐藏“大小写匹配”复...

匿名
2008/09/19
552
0
Android 4.0设计规范10大改变

对比Android 4.0与Android2.3及之前版本的App设计指导,总结了Android 4.0设计的10大改变: 1. 导航栏 (详见模式PATTERNS>导航Navigation) 由之前的物理按键导航(返回、菜单、搜索、主页)变...

晨曦之光
2012/03/01
615
1
Bootstrap 响应式项目分享一

网页链接地址:http://chem960.vicp.cc:9128 该页面中主要用到的有 1. 全局 CSS 样式 -- 栅格系统 2. 全局 CSS 样式 -- 按钮 3. 全局 CSS 样式 -- 辅助类 4. 组件 -- 按钮式下拉菜单 5. 组件...

Neuro_annie
2017/12/27
0
0
iOS11、iPhone X、Xcode9 适配指南

2017.09.23 不断完善中。。。 2017.10.02 新增 iPhone X 适配官方中文文档 更新iOS11后,发现有些地方需要做适配,整理后按照优先级分为以下三类: 单纯升级iOS11后造成的变化; Xcode9 打包...

si1ence
2017/12/14
0
0
android开发底部导航栏隐藏问题

背景:在一个普通类中(非继承Activity等),点击截界面上某一按钮隐藏底部导航栏(Back、Home、多任务切换),再次点击让其出现; 实现:隐藏view.setSystemUiVisibility( View.SYSTEMUIFL...

WYRiver
2015/09/11
4.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统

expect脚本同步文件 更改权限 执行脚本 查看执行结果 expect eof需要加上,作用是等脚本命令执行完再进行退出 expect脚本指定host和要同步的文件 更改权限,执行脚本 构建文件分发系统 需求背...

Zhouliang6
7分钟前
0
0
Hive应用:外部分区表

Hive应用:外部分区表 介绍 Hive可以创建外部分区表。创建表的时候,分区要在建表语句中体现。建完之后,你不会在表中看到数据,需要进行分区添加,使用alter语句进行添加。然后数据才会显示...

星汉
18分钟前
0
0
点击Enter登录

1. 效果 2. 实现过程(记得引入jq文件) //6.回车事件 登录 $(function() { document.onkeydown = function(event) { var e = event || window.event || arguments.callee.caller.arguments......

Lucky_Me
23分钟前
1
0
点击菜单内容切换

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .menu{ height: 38px; background-color: #eeeeee; line-height: 38px; } .mao{ ......

南桥北木
今天
1
0
OSChina 周六乱弹 —— 妹子和游戏哪个更好玩

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享唐朝乐队的单曲《国际歌》 《国际歌》- 唐朝乐队 手机党少年们想听歌,请使劲儿戳(这里) @举个栗子- :日常祈雨 邪恶的大祭...

小小编辑
今天
428
6
流利阅读笔记32-20180721待学习

“人工智能”造假:只有人工,没有智能 Lala 2018-07-21 1.今日导读 当今社会,擅长单个方面的人工智能已经盛行,手机借助 AI 智慧防抖技术帮助大家拍出清晰照片,谷歌研发的 AI 助手将可以帮...

aibinxiao
今天
6
0
我的成长记录(一)

今天突然精神抖擞,在我的博客下新开一项分类>成长记录,专门记录每隔一段时间我的一点感悟吧。因为今天才专门花时间新开这样一个分类,所以以前有过的一些感悟没有记录下来,现在已经想不起...

dtqq
今天
1
0
机器学习管理平台 MLFlow

最近工作很忙,博客一直都没有更新。抽时间给大家介绍一下Databrick开源的机器学习管理平台-MLFlow。 谈起Databrick,相信即使是不熟悉机器学习和大数据的工程湿们也都有所了解,它由Spark的...

naughty
今天
1
0
idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
2
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部