下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】Android中如何实现虚拟导航键的显示隐藏功能
这篇文章将为大家详细讲解有关Android中如何实现虚拟导航键的显示隐藏功能,在下觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:package
.myapplication;
import
android.app.Activity;
import
android.os.Bundle;
import
android.view.View;
import
android.widget.Button;
public
class
MainActivity
extends
Activity
implements
View.OnClickListener{
boolean
isnight
=
false;
@Override
protected
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button
nightbutton
=
(Button)
findViewById(R.id.nightbutton);
Button
hidebutton
=
(Button)
findViewById(R.id.hidenav);
Button
fullbutton
=
(Button)
findViewById(R.id.full);
Button
fullonly
=
(Button)
findViewById(R.id.fullonly);
nightbutton.setOnClickListener(this);
hidebutton.setOnClickListener(this);
fullbutton.setOnClickListener(this);
fullonly.setOnClickListener(this);
}
@Override
public
void
onClick(View
v)
{
switch
(v.getId()){
case
R.id.nightbutton:
if
(isnight){
v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
}else{
//夜间模式,系统控件颜色会变暗
v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
}
isnight
=
!isnight;
break;
case
R.id.hidenav:
//隐藏虚拟按键,点击又会重新出现
v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
break;
case
R.id.full:
//在隐藏显示系统控件的过程中不会来移动我们的控件
v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE|
//隐藏系统状态栏,如果设置了Window.FEATURE_ACTION_BAR_OVERLY同时隐藏Actionbar
View.SYSTEM_UI_FLAG_FULLSCREEN|
//这个会隐藏屏幕上的所有系统控件
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
break;
case
R.id.fullonly:
v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
}
}
}关键代码部分其实已经在上方了,现在来说说几个FLAG:1.View.SYSTEM_UI_FLAG_LOW_PROFILE这个Flag设置之后你会发现整个屏幕中的系统控件部分的背景包括控件本身的会变暗或者消失,比如状态栏中的某些图标,但这个只是系统状态栏、虚拟按键等进入夜间模式,app内部的控件并不会进入夜间模式,这个以后有时间再研究怎么在应用内部实现夜间模式。2.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,设置这个Flag可以是虚拟按键进行动态的显示和隐藏,因为虚拟按键会占用屏幕控件,所以虚拟按键的显示和隐藏可能会影响到你的控件在当前界面中的位置,这个时候你可能需要设置另外一个FLAG,这个FLAG就是View.SYSTEM_UI_FLAG_LAYOUT_STABLE,设置这个FLAG会是你的控件不在受虚拟按键显示或隐藏的影响。3.View.SYSTEM_UI_FLAG_FULLSCREEN,这个Flag应该是大家比较常用的一个Flag,设置之后会屏蔽掉状态栏等控件使你的界面全屏显示(不会隐藏虚拟按键),但是如果有actionbar和activitytitle等相关内容存在,这些依旧还会显示,如果设置了Window.FEATURE_ACTION_BAR_OVERLY,在隐藏状态栏的同时,则会将actionbar也一起隐藏,如果要隐藏title则需要设置Window.FEATURE_NO_TITLE如何在带有实体按键的情况下调出虚拟按键1.通过修改p调出虚拟按键,其路径在system/下,在其中找到p打开可以看到qemu.hw.mainkeys=1或者qemu.hw.mainkeys=0,当qemu.hw.mainkeys=1时实体键盘起效,qemu.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国腹膜透析行业趋势预测及投资策略研究报告
- 2024-2030年中国矿渣微粉行业供需趋势及投资规划分析报告
- 比粗细课件教学课件
- 2024健身房与会员之间的会员服务合同
- 2024年建筑工人劳务雇佣协议
- 2024年度艺人非独家合作合同及演出安排
- 2024年广告发布与媒体推广合同
- 2024年度废旧物资回收利用合同的履行
- 2024年度技术研发计算机软件开发合同
- 制作高端课件教学课件
- 八上语文古诗词理解性默写
- 湖南省长沙市雅礼集团2024-2025学年九年级上学期11月期中英语试题
- 2023年 评审准则质量记录手册表格汇编(101个)
- 2024年度采购合同管理程序指南
- GB/T 44693.1-2024危险化学品企业工艺平稳性第1部分:管理导则
- 湖南省三湘名校教育联盟2023-2024学年高二下学期4月期中联考地理试题
- 2024秋期国家开放大学专科《现代教师学导论》一平台在线形考(形成性考核任务一至四)+终结性考核(大作业)试题及答案
- 2024年银行考试-征信人员考试近5年真题附答案
- 世界一流港口综合评价报告
- 第四单元 比(单元测试)-2024-2025学年六年级上册数学人教版
- 辽宁省盘锦市第一完全中学2023-2024学年八年级上学期期中数学试卷
评论
0/150
提交评论