- 浏览: 5770317 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity implements OnClickListener { View main; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); main = getLayoutInflater().inflate(R.layout.activity_main, null); main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); main.setOnClickListener(this); setContentView(main); } @Override public void onClick(View v) { int i = main.getSystemUiVisibility(); if (i == View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) {//2 main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); } else if (i == View.SYSTEM_UI_FLAG_VISIBLE) {//0 main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); } else if (i == View.SYSTEM_UI_FLAG_LOW_PROFILE) {//1 main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); } } }
Android 检查设备是否存在 导航栏 NavigationBar
目前也没有可靠的方法来检查设备上是否有导航栏。可以使用KeyCharacterMap.deviceHasKey来检查设备上是否有某些物理键,比如说菜单键、返回键、Home键。然后我们可以通过存在物理键与否来判断是否有NavigationBar(一般来说手机上物理键、NavigationBar共存).
public static int getNavigationBarHeight(Activity activity) { Resources resources = activity.getResources(); int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android"); //获取NavigationBar的高度 int height = resources.getDimensionPixelSize(resourceId); return height; }
上面这段代码,在绝大多数情况下都能获取到NavigationBar的高度。所以有人想通过这个高度来判断是否有NavigationBar 是不行的。当然4.0版本以下就不用说了。确认个问题,NavigationBar是4.0以上才有么?
因为设备有物理键仍然可以有一个导航栏。任何设备运行自定义rom时都会设置一个选项,是否禁用的物理键,并添加一个导航栏。看看API:
ViewConfiguration.get(Context context).hasPermanentMenuKey() 有这么一句描述 :Report if the device has a permanent menu key available to the user(报告如果设备有一个永久的菜单主要提供给用户).
android.view.KeyCharacterMap.deviceHasKey(int keyCode) 的描述:Queries the framework about whether any physical keys exist on the any keyboard attached to the device that are capable of producing the given key code(查询框架是否存在任何物理键盘的任何键盘连接到设备生产给出关键代码的能力。).
那么解决的办法就是:
@SuppressLint("NewApi") public static boolean checkDeviceHasNavigationBar(Context activity) { //通过判断设备是否有返回键、菜单键(不是虚拟键,是手机屏幕外的按键)来确定是否有navigation bar boolean hasMenuKey = ViewConfiguration.get(activity) .hasPermanentMenuKey(); boolean hasBackKey = KeyCharacterMap .deviceHasKey(KeyEvent.KEYCODE_BACK); if (!hasMenuKey && !hasBackKey) { // 做任何你需要做的,这个设备有一个导航栏 return true; } return false; }
http://blog.csdn.net/lnb333666/article/details/41821149
在 KitKat以上版本中使用Translucent将Navigation Bar透明化
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0616/3052.html
为Android4.4以上系统的状态栏和导航栏填充颜色
https://github.com/jgilfelt/SystemBarTint
Android状态栏合集-管你透不透明
http://www.open-open.com/lib/view/open1468204363687.html
Android状态栏微技巧,带你真正理解沉浸式模式
http://www.open-open.com/lib/view/open1472112617427.html
Android5.0之Toolbar详解
http://www.open-open.com/lib/view/open1484918068393.html
发表评论
-
某些android手机获取不到IMEI问题
2018-08-21 14:17 7469某些山寨机可能拿不到IMEI 如果非要IMEI可以模拟一个 ... -
APK安装成功后点击"打开"再按Home键应用会重启的问题
2018-08-21 14:13 2701安装系统SD卡里面的apk或者原有的程序更新版本的时候, ... -
使用volley链接Https地址时报SSLHandshakeException
2018-08-21 14:06 2016在真实设备上出现以下错误 ︰ Volley error: ... -
PhotoView+Viewpager双指缩放的时候出现pointerIndex out of range问题
2017-07-10 14:30 4178PhotoView+Viewpager开发图集效果的时候,在某 ... -
Android6.0权限封装
2017-04-01 12:04 1519简介 Android6.0中对权限分为了一般权限和危险权限。 ... -
实现点击 WebView 中的图片,调用原生控件展示图片
2017-04-01 11:14 2736现在有很多时候,我们的 App 都进行了混合开发,而最简单,最 ... -
Android 方法引用数超过 65535 优雅解决
2017-03-31 09:37 1469随着应用不断迭代更新,业务线的扩展,应用越来越大(比如:集成了 ... -
android引用资源@与属性?备忘单
2017-03-30 10:09 1226几天前我偶然发现了我A ... -
ViewPager 与SwipeRefreshLayout,RecyclerView,ScrollView滑动冲突解决方法
2017-03-30 09:55 6500ViewPager 作为一个横向滚动的控件, 在 ViewGr ... -
Android中一些你可能没注意的小效果实现
2017-02-15 21:09 0http://www.see-source.com/blog/ ... -
Android热修复:Andfix和Hotfix,两种方案的比较与实现
2017-02-15 21:00 0http://www.see-source.com/blog/ ... -
Android 从网页中跳转到本地App
2017-01-11 09:27 1817我们在使用微信、QQ、京东等app的时候,会发现有时候通过他们 ... -
Activity的启动模式和onNewIntent
2016-12-28 09:10 1283一、启动模式介绍 启 ... -
android5.0使用Notification报RemoteServiceException的解决办法
2016-08-31 16:13 11449有时android5.0下使用Notification会报如下 ... -
RecyclerView 中的 item 如何居中问题
2016-05-18 09:52 12370一个很简单的Item布局,我只要让它由上而下排列,文字居中 ... -
sqlite3:not found 解决方法
2015-12-08 16:03 2484最最最重要,先root你的手机吧 sqlite3 为一个可 ... -
服务端执行慢或网络延迟时,Volley多次发送请求的问题
2015-07-27 15:40 6930原文: Android Volley double post ... -
如何获取 Android 设备的CPU核数、时钟频率以及内存大小
2015-06-30 17:04 4312原帖: http://www.jianshu.com/p/f7 ... -
android点滴5
2015-04-10 17:32 1996一些小效果的实现 http://www.see-source. ... -
SwipeRefreshLayout和ListView的EmptyView共存冲突的问题
2015-01-20 11:47 18556SwipeRefreshLayout是android官方的下拉 ...
相关推荐
有的时候我们在做全屏显示或者视频全屏播放时候,有些手机有底部的虚拟按键,如下图所示: 在开发中我们会遇到需要隐藏虚拟按键或者沉浸式虚拟按键的需求。 上图为沉浸式虚拟按键效果。 上图为隐藏虚拟按键效果。...
安卓7.0 SystemUI 虚拟键Navigationbar动态显示和隐藏的功能,以及添加自定义的按键,音量加减,隐藏键的补丁
0001-导航栏添加按钮隐藏虚拟按键,上滑调出虚拟按键
有些时候,我们需要知道当前手机上是否显示了NavigationBar,也就是屏幕底部的虚拟按键。 比如截屏的时候,要获取屏幕的高度,必须包括NavigationBar的高度。 试过网上的多种方法,但是对那种可以通过手势来显示/...
Android NavigationBar隐藏与浮层,Status Bar的隐藏与浮层效果,SystemBar(Status Bar 和Navigation Bar)设置 Immersive与Sticky Immersion风格
* 自动隐藏NavigationBar的帮助类 * * 代码测试环境: * 机型:华为(SCL-TL00H) * ANDROID版本:5.1.1 * 系统版本:EMUI3.1 * * TODO: 在EMUI3.1中发现,操作系统级别的NavigationBar时,当前应用设置的...
修改framework,显示隐藏navigationBar 从Android4.4.2起,可以设置: 1)View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 2)View.SYSTEM_UI_FLAG_IMMERSIVE 同时设置以上两个参数,即使Touch Screen时,Navigation bar...
AndroidP横屏项目,修改SystemUI下拉栏全屏显示,并覆盖NavigationBar导航栏之上,原博客 https://blog.csdn.net/shusuanly/article/details/115264404
Android 8.1实现底部虚拟按钮NavigationBar的点击隐藏与滑动显示整个过程需要修改的完整代码,包含下面几个完整文件。 frameworks/base/packages/SystemUI/res/values-sw372dp/config.xml frameworks/base/packages/...
隐藏手机底部导航条NavigationBar,按住下方向上拉会自动显示。
小程序全局配置app.josn增加选项:"navigationStyle": "custom", 具体如下: 原生小程序开发 打开 app.json: { "pages": [ "pages/index/index", "pages/logs/index" ], "window": { "backgroundTextStyle": ...
仿简书滑动隐藏NavigationBar
自定义NavigationBar
NavigationBar流程梳理
Android手机屏幕助手,用来替换NavigationBar虚拟导航按键。由于涉及到系统按键消息。 所以需要在源码环境下编译,需要系统签名,需要声明android_sharedUserId=_android.uid.system_ .zip,太多无法一一验证是否可用...
NavigationBar做动画的demo
主要介绍了IOS UITableView和NavigationBar的常用设置详解的相关资料,需要的朋友可以参考下
向上滑动时会隐藏头部视图,显示navigationBar,Segment选择停留在navigationBar的下方,点击不同的选择按钮切换不同的界面;向下滑动时会隐藏navigationBar,