代码如下:
package test.lb.com.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.通过修改build.prop调出虚拟按键,其路径在system/下,在其中找到build.prop打开可以看到qemu.hw.mainkeys=1 或者qemu.hw.mainkeys= 0,当qemu.hw.mainkeys=1时实体键盘起效,qemu.hw.mainkeys=0时,显示虚拟键盘,此时点击实体键盘不起作用。
以上这篇Android虚拟导航键的显示隐藏实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍Android 中隐藏虚拟按键的方法实例代码,包括了Android 中隐藏虚拟按键的方法实例代码的使用技巧和注意事项,需要的朋友参考一下 下面通过一段代码给大家讲解android 隐藏虚拟按键的方法,废话不多说了,大家多多看看代码和注释吧,具体代码如下所示: 例子 以上所述是小编给大家介绍的Android 中隐藏虚拟按键的方法实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言
本文向大家介绍jQuery实现的导航条切换可显示隐藏,包括了jQuery实现的导航条切换可显示隐藏的使用技巧和注意事项,需要的朋友参考一下 用jQuery实现一些导航条切换,显示隐藏,主要运用的技术有slideToggle( ),toggeClass( ),toggle( ): 代码如下: 效果图:
我想永远不要像以编程方式显示/隐藏虚拟键盘一样隐藏虚拟键盘 或者(如果上面所说的不可能的话) 我想从虚拟键盘移除/隐藏/禁用下面(突出显示的绿色左下角)按钮。 在任何情况下都不要隐藏键盘,除非程序没有终止。 代码:你也可以在github上查看我的代码。
本文向大家介绍Android Dialog中软键盘的显示与隐藏的示例,包括了Android Dialog中软键盘的显示与隐藏的示例的使用技巧和注意事项,需要的朋友参考一下 1.写在前面 本篇的主要内容是关于在Dialog中软键盘的显示与隐藏问题,需求是在Dialog中有一个密码输入框,弹出Dialog显示软键盘,关闭Dialog隐藏软键盘。 嗯,是不是有点简单,不过在实现的过程中还是遇到了一些问题
我的问题是我需要知道键盘隐藏和显示事件,如何找出这一点?
本文向大家介绍Android编程之软键盘的隐藏显示实例详解,包括了Android编程之软键盘的隐藏显示实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了Android编程之软键盘的隐藏显示方法。分享给大家供大家参考,具体如下: Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入。 那么,弹出软键盘后必然会造成原有布局高度的减少,