【Android】关于魅族机型适配问题

一、魅族hold 下拉悬停功能的屏蔽
  • 魅族自带的下拉悬停功能有时用起来体验太差,Android开发中很多地方会碰到与设计想冲突的地方

  • 一般如:ListView ScrollView 等可下滑控件操作是会碰到,如需选择性屏蔽可通过如下API实现:

      * .setOverScrollMode(View.OVER_SCROLL_NEVER);
    
二、魅族SmartBar适配
  • 魅族的SB(SmartBar)控件众所周知,对于开发者而言很多地方真是坑的不要不要的
  • 最近开发中遇到的,是下方弹出的pop窗口底部按钮被遮挡问题
  • 就此采取一些魅族官方给出的方案:
  1. 通过反射调用魅族官方API ,判断是否含有SmartBar

     protected boolean hasSmartBar() {
     	try {
     		// 新型号可用反射调用Build.hasSmartBar()
     		Method method = Class.forName("android.os.Build").getMethod(
     				"hasSmartBar");
     		return ((Boolean) method.invoke(null)).booleanValue();
     	} catch (Exception e) {
    
     	}
     	// 反射不到Build.hasSmartBar(),则用Build.DEVICE判断
     	if (Build.DEVICE.equals("mx2")) {
     		return true;
     	} else if (Build.DEVICE.equals("mx") || Build.DEVICE.equals("m9")) {
     		return false;
     	}
     	return false;
     }
    
  2. 对含有SmartBar的机型进行调空适配,这个因人而异不给出代码了,可以设置弹窗的起始高度,也可调正按钮高度等

  3. 有一点又需注意,在魅族5.0系统中,魅族在个人设置中给出了SmartBar的控制开关,在SmartBar关闭的情况下,上述判断返回true
    比较坑爹,因此我又对不同机型和系统做出判断和处理,5.0的以后的机型独立配置了一个UI界面,是的在包含SmartBar的情况下也较为美观,如大家有好的解决方法欢迎给出,感激不尽!调用机型的API在下给出,具体的代码个人把控

     Log.d("fmer", "手机型号: " + android.os.Build.MODEL + ",\nSDK版本:"
     		+ android.os.Build.VERSION.SDK + ",\n系统版本:"
     		+ android.os.Build.VERSION.RELEASE);
    
  4. 如需更多的魅族适配处理,可以参考魅族官方的 Meizu SmartBar开发指南 和他的Demo查看

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值