之前开发的项目在4.X完美运行,可是用户升级到5.0以上就出现莫名的bug。
以下是修改bug中总结的差异化!(持续更新)
总体感觉5.0以后对程序员的编码要求更高了,没有4.X系列那么随意了(*^__^*) 嘻嘻……
1,此处View 必须是LinearLayout或者RelativeLayout等ViewGroup。在4.X中可以是View,5.0以后View设置无效。
/**
* 设置控件相对于屏幕高度或者宽度
* @param context 上下文
* @param view 控件
* @param rate 比率
* @param orientation 比如设置宽,高,同时设置
*/
public static void setHeight(Context context,View view,double rate,int orientation){
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
int width = manager.getDefaultDisplay().getWidth();
int height = manager.getDefaultDisplay().getHeight();
switch (orientation) {
case WIDTH:
view.getLayoutParams().width = (int) (width*rate);
break;
case HEIGHT:
view.getLayoutParams().height = (int) (height*rate);
break;
case BOTH:
view.getLayoutParams().width = (int) (width*rate);
view.getLayoutParams().height = (int) (height*rate);
break;
case BOTHWIDTH:
view.getLayoutParams().width = (int) (width*rate);
view.getLayoutParams().height = (int) (width*rate);
break;
}
}
2, 关于应用在4.X系统上运行正常,但是在5.0以上提示找不到.so文件问题:4.X系统中加载.so文件是在Android项目的libs文件下的armeabi下,但是Android5.0以后需要再libs下新建一文件夹armeabi-v7a,把所有的.so文件复制一份到这个目录。项目在5.0上完美运行。