之前开发的项目在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; } }
原文地址:http://blog.csdn.net/l349440843/article/details/45913847