android开发:mx2隐藏虚拟菜单
2014-03-10 13:04
316 查看
//获取actionbar高度
private static int getActionBarHeight(Context context) {
int result = 0;
TypedArray actionbarSizeTypedArray = context
.obtainStyledAttributes(new int[] { android.R.attr.actionBarSize });
result = (int) actionbarSizeTypedArray.getDimension(0, 0);
return result;
}
//获取statusbar高度
private static int getStatusBarHeight(Context context) {
int result = 0;
int resourceId = context.getResources().getIdentifier(
"status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}
public static boolean hasSmartBar() {
try {
Method method = Class.forName("android.os.Build").getMethod(
"hasSmartBar");
return ((Boolean) method.invoke(null)).booleanValue();
} catch (Exception e) {
}
if (Build.DEVICE.equals("mx2")) {
return true;
} else if (Build.DEVICE.equals("mx") || Build.DEVICE.equals("m9")) {
return false;
}
return false;
}
public static void hide(Context context, Window window,
int statusBarHeight, int smartBarHeight) {
if (!hasSmartBar()) {
return;
}
if (context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
return;
}
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
window.addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
window.getDecorView()
.setPadding(0, statusBarHeight, 0, -smartBarHeight);
}
private static int getActionBarHeight(Context context) {
int result = 0;
TypedArray actionbarSizeTypedArray = context
.obtainStyledAttributes(new int[] { android.R.attr.actionBarSize });
result = (int) actionbarSizeTypedArray.getDimension(0, 0);
return result;
}
//获取statusbar高度
private static int getStatusBarHeight(Context context) {
int result = 0;
int resourceId = context.getResources().getIdentifier(
"status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}
public static boolean hasSmartBar() {
try {
Method method = Class.forName("android.os.Build").getMethod(
"hasSmartBar");
return ((Boolean) method.invoke(null)).booleanValue();
} catch (Exception e) {
}
if (Build.DEVICE.equals("mx2")) {
return true;
} else if (Build.DEVICE.equals("mx") || Build.DEVICE.equals("m9")) {
return false;
}
return false;
}
public static void hide(Context context, Window window,
int statusBarHeight, int smartBarHeight) {
if (!hasSmartBar()) {
return;
}
if (context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
return;
}
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
window.addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
window.getDecorView()
.setPadding(0, statusBarHeight, 0, -smartBarHeight);
}
相关文章推荐
- android系统定制开发动态显示隐藏虚拟按键虚拟导航Navigationbar
- 【Android开发】 物理Menu 呼出 ActionBar中隐藏菜单的实现方式
- Android动画开发——Animation显示隐藏菜单效果
- Android隐藏虚拟菜单(虚拟按钮导航栏)
- 主流移动应用开发框架(1)——实现左右滑隐藏菜单的开源框架AndroidResideMenu二次开发
- 关于Android开发中手机底部虚拟键的隐藏问题
- Android动画开发——Animation显示隐藏菜单效果
- 华为手机虚拟home键,返回键,菜单键开发中遇到的不可隐藏问题,
- android 虚拟导航按钮(NavigationBar)可手动隐藏开发
- android开发判断虚拟菜单是否开启及获取虚拟菜单高度
- Android开发环境的搭建之二 VMware虚拟工具安装
- Android开发之如何获取屏幕、状态栏、导航栏和虚拟功能键的高度
- Android开发之多级下拉列表菜单实现(仿美团,淘宝等)
- 布局菜单Android开发之侧滑菜单LeftSliderLayout
- Android开发之通过反射获取到Android隐藏的方法
- android隐藏底部虚拟键Navigation Bar实现全屏
- Android开发-DrawerLayout实现侧滑菜单(1)
- android 虚拟菜单出不来的解决方法。
- 在Android开发中显示和隐藏,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”、“invisible”、“gone”
- Android开发之_Menu_菜单的使用