怎么隐藏虚拟按钮

怎么隐藏虚拟按钮,第1张

1、打开华为手机进入系统,选择手机的设置进入。

2、在设置界面,点击底部的系统的选项进入。

3、进入系统设置,选择系统导航方式的选项。

4、点击后,可以看到华为手机支持的几种导航方式,选择屏幕内三键导航下方的更多设置。

5、点击后,将导航键可隐藏选项后方的开关打开。

6、打开后,虚拟按键前方会出现一个图标,点击该图标即可隐藏虚拟按键。

7、如果需要调出隐藏的虚拟按键,也可以从华为手机屏幕底部向上滑动,即可调出虚拟按键。

手机隐藏的按键调出来的步骤:

1、手机屏幕下往上滑即可唤出虚拟按键。

2、在设置里面可以关闭隐藏功能。

3、进入“设置”界面,点击“智能辅助>导航栏”。

4、关闭“导航栏可隐藏”开关即可。

5、把手指放在屏幕下沿向上滑动,即可调出虚拟按键。

手机隐藏虚拟按键步骤:用RE管理器打开system/挂为读写,找到buildprop文件“长按”呼出文本编辑器然后打开。在最底下新建一行,添加代码

qemuhwmainkeys=0,保存后重启即可。

我们使用的大多数android手机上的Home键,返回键以及menu键都是实体触摸感应按键。如果你用Google的Nexus4或Nexus5话,你会发现它们并没有实体按键或触摸感应按键,取而代之的是在屏幕的下方加了一个小黑条,在这个黑条上有3个按钮控件,这种设置无疑使得手机的外观的设计更加简约。但我遇到身边用Nexus 4手机的人都吐槽这种设计,原因很简单:好端端的屏幕,被划出一块区域用来显示3个按钮(如下图所示):Back, Home, Recent。并且它一直用在那里占用着。

在android源码中,那一块区域被叫做NavigationBar。同时,google在代码中也预留了标志,用来控制它的显示与隐藏。NavigationBar的显示与隐藏的控制是放在SystemU中的,具体的路径是:\frameworks\base\packages\SystemUI。对android40以上的手机而言,SystemUi包含两部分:StatusBar和NavigationBar。在SystemUI的工程下有一个类PhoneStatusBarjava,在该类中可以发现关于控制NavigationBar的相关代码:

在start()方法里可以看到NavigationBar是在那时候被添加进来,但只是添加,决定它显示还是隐藏是在后面控制的。

<span style="font-size:18px;">@Override

public void start() {

mDisplay = ((WindowManager)mContextgetSystemService(ContextWINDOW_SERVICE))

getDefaultDisplay();

updateDisplaySize();

/// M: Support Smartbook Feature

if (SIMHelperisMediatekSmartBookSupport()) {

/// M: [ALPS01097705] Query the plug-in state as soon as possible

mIsDisplayDevice = SIMHelperisSmartBookPluggedIn(mContext);

Logv(TAG, "start, mIsDisplayDevice=" + mIsDisplayDevice);

}

superstart(); // calls createAndAddWindows()

addNavigationBar();

// Lastly, call to the icon policy to install/update all the icons

mIconPolicy = new PhoneStatusBarPolicy(mContext);

mHeadsUpObserveronChange(true); // set up

if (ENABLE_HEADS_UP) {

mContextgetContentResolver()registerContentObserver(

SettingsGlobalgetUriFor(SETTING_HEADS_UP), true,

mHeadsUpObserver);

}

}</span>

其中的addNavigationBar()具体的实现方法如下:

<span style="font-size:18px;"> // For small-screen devices (read: phones) that lack hardware navigation buttons

private void addNavigationBar() {

if (DEBUG) Slogv(TAG, "addNavigationBar: about to add " + mNavigationBarView);

if (mNavigationBarView == null) return;

prepareNavigationBarView();

mWindowManageraddView(mNavigationBarView, getNavigationBarLayoutParams());

}</span>

可以看到Navigationbar实际上windowmanager向window窗口里添加一个view。在调用addNavigationBar()方法之前会回调start()的父方法superstart()来判断是否要添加NavigationBar。在superstart()的调用父类方法里会调用createAndAddWindows(),该方法内会判断是否需要添加显示NavigationBar,然后决定是否要实例化NavigationBarView

<span style="font-size:18px;">try {

boolean showNav = mWindowManagerServicehasNavigationBar();

if (DEBUG) Slogv(TAG, "hasNavigationBar=" + showNav);

if (showNav) {

mNavigationBarView =

(NavigationBarView) Viewinflate(context, Rlayoutnavigation_bar, null);

mNavigationBarViewsetDisabledFlags(mDisabled);

mNavigationBarViewsetBar(this);

}

} catch (RemoteException ex) {

// no window manager good luck with that

}</span>

WindowManagerService类实现了WindowManagerPolicy的接口,所以WindowManagerService会回调WindowManagerPolicy 的hasNavigationBar()接口,

<span style="font-size:18px;"> @Override

public boolean hasNavigationBar() {

return mPolicyhasNavigationBar();

}</span>

Policy向下调用实际上调用的是PhoneWindowManager实现的hasNavigationBar方法,下面代码是PhoneWindowManager中的hasNavigationBar()方法。

<span style="font-size:18px;">// Use this instead of checking config_showNavigationBar so that it can be consistently

// overridden by qemuhwmainkeys in the emulator

public boolean hasNavigationBar() {

return mHasNavigationBar;

}</span>

而mHasNavigationBar的赋值可以在PhoneWindowManager中的setInitialDisplaySize(Display display, int width, int height, int density)方法中找到,

<span style="font-size:18px;"> if (!mHasSystemNavBar) {

mHasNavigationBar = mContextgetResources()getBoolean(

comandroidinternalRboolconfig_showNavigationBar);

// Allow a system property to override this Used by the emulator

// See also hasNavigationBar()

String navBarOverride = SystemPropertiesget("qemuhwmainkeys");

if (! ""equals(navBarOverride)) {

if (navBarOverrideequals("1")) mHasNavigationBar = false;

else if (navBarOverrideequals("0")) mHasNavigationBar = true;

}

} else {

mHasNavigationBar = false;

}</span>

从上面代码可以看到mHasNavigationBar的值的设定是由两处决定的:

1首先从系统的资源文件中取设定值config_showNavigationBar, 这个值的设定的文件路径是frameworks/base/core/res/res/values/configxml

<!-- Whether a software navigation bar should be shown NOTE: in the future this may be

autodetected from the Configuration -->

<bool name="config_showNavigationBar">false</bool>

2然后系统要获取“qemuhwmainkeys”的值,这个值可能会覆盖上面获取到的mHasNavigationBar的值。如果 “qemuhwmainkeys”获取的值不为空的话,不管值是true还是false,都要依据后面的情况来设定。

所以上面的两处设定共同决定了NavigationBar的显示与隐藏。

虚拟按键为导航键的操作方式之一,开启功能后,将会在手机屏幕下方显示虚拟按键。

若您使用OPPO手机,可参考以下方法设置虚拟按键:

ColorOS 12及以上版本:

导航键提供了全面屏手势、虚拟按键两种导航方式。

您可以进入手机「设置 > 系统设置 > 系统导航方式」,设置您需要的导航方式。

ColorOS 112-113版本:

导航键提供了全面屏手势、虚拟按键两种导航方式。

您可以进入手机「设置 > 便捷工具 > 导航方式」,设置您需要的导航方式。

ColorOS 110-111版本:

导航键提供了两侧滑动手势、虚拟按键、上滑手势三种导航方式。

您可以进入手机「设置 > 便捷工具 > 导航方式 > (更多)」,设置您需要的导航方式。

ColorOS 70-72版本:

导航键提供了两侧滑动手势、虚拟按键、上滑手势三种导航方式。

您可以进入手机「设置 > 便捷辅助 > 导航键」,设置您需要的导航方式。

1、开始,先在手机的桌面上找到应用程序“设置”图标,点击进入新的操作界面。

2、然后,进入到设置的操作界面后,找到“显示”选项,点击打开。

3、进入到显示的操作界面后,找到“导航条”选项,点击打开。

4、进入到导航条的操作界面后,找到“显示和隐藏按钮”选项,点击打开。

5、开启功能后会在虚拟按键左侧多了个小点点击后可以隐藏虚拟按键,要调出虚拟按键则从手机底部上滑屏幕即可调出。

1、第一步打开华为,点击桌面的设置,如下图所示:

2、第二步进去华为设置之后,点击底部的系统->系统导航方式,如下图所示:

3、在华为系统导航方式设置界面,可以看到选择的是屏幕三键导航,这就是出现虚拟按键的原因,如下图所示:

4、点击屏幕三键导航下方的更多设置,进去之后开启导航键可隐藏,点击隐藏键,就可以隐藏虚拟按键,从底部上滑,就出现虚拟按键,如下图所示:

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/shuma/845761.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-11
下一篇2023-08-11

随机推荐

  • 请问有关李煜的记载都在哪些史书中

    新五代史煜字重光,初名从嘉,景第六子也。煜为人仁孝,善属文,工书画,而丰额骈齿,一目重瞳子。自太子冀已上,五子皆早亡,煜以次封吴王。建隆二年,景迁南都,立煜为太子,留监国。景卒,煜嗣立于金陵。母钟氏,父名泰章。煜尊母曰圣尊后;立妃周氏为国后

    2024-04-15
    44500
  • 婴儿护肤品

    「导读」 宝宝也是可以使用护肤品的,只是在产品的选择上需要更加的谨慎而已,需要保护好宝宝皮肤表面的酸性保护膜并且保持宝宝皮肤的水分平衡。婴儿护肤品是指专门针对婴幼儿敏感肌肤研制,用于婴幼儿日常清洁、保护肌肤、预防溼疹、预防痱子等护理的产品。

    2024-04-15
    49300
  • 妮维雅走珠止汗剂可以止住狐臭吗

    不太好,我也有,我一直用的是雅芳的运动型的,很好用,洗完澡就在腋下滚一下,OK拉,可以持续24小时到48小时,喷的不好,买滚珠的,效果非常好,完全没味道,凑进了自己闻还有淡淡的香味,对了,你要做什么手术,好象听说目前还没有完全可以治愈的吧您

    2024-04-15
    43200
  • 中国十大电地暖品牌有哪些 十大电地暖品牌排行榜

    2016年最新十大最具影响力电地暖品牌1:EAST(伊思特)贵州伊思特新技术发展有限责任公司,坐落于贵阳国家高新技术开发区,总投资16亿,是国内唯一的专业从事“单、双导耐高温发热电缆,研发、生产和销售于一体的高新技术企业。 自上

    2024-04-15
    32000
  • 韩国的后和苏秘哪款好,whoo后和呼吸哪个更好

    韩国品牌的护肤品一直都是广受欢迎的,其中很多个品牌的反馈都比较不错,比较推荐的就是后和苏秘这两个品牌,那么韩国的后和苏秘哪款好whoo后和呼吸哪个更好呢?接下来就介绍下这两个品牌的护肤品,大家都可以了解一下。后和苏秘都是LG集团旗下的知名护

    2024-04-15
    35900
  • 妮维雅630成分安全吗

    妮维雅630成分安全。经查询相关资料:妮维雅630经过成分表和安全分析得到风险成分和孕妇慎用成分均为0种。NIVEA妮维雅630系列,是亚马逊海外购的又一必购产品,秉承着好用不贵的原则吸引了很多女士。妮维雅这个品牌大家都比较熟悉,很多人都会

    2024-04-15
    28900
  • 钻玫白鲜童颜植萃焕肤套盒怎么样

    好。1、功效好:钻玫白鲜童颜植萃焕肤套盒中的护肤产品,是由植物萃取而成,具有很好的保湿和修复功效,因此钻玫白鲜童颜植萃焕肤套盒很好。2、品类齐全:钻玫白鲜童颜植萃焕肤套盒这款套装包含了洁面、爽肤水、面霜和眼霜,可以为肌肤提供多样化选择,因此

    2024-04-15
    37000

发表评论

登录后才能评论
保存