java.lang.Math 在做范围控制时的妙用
2011-10-25 09:40
197 查看
whichScreen = Math.max(0, Math.min(whichScreen, getChildCount()-1));
解说:这是Android的界面平滑切换时用到的代码,getChildCount()用于获取当前的ViewGroup中一共有多少个child view
0,表示了最小值边界
getChildCount()-1,表示了最大边界
用一行代码简洁地描述了需要数行if...else才能表达的min<whichScreen<max 逻辑,是为精妙。
解说:这是Android的界面平滑切换时用到的代码,getChildCount()用于获取当前的ViewGroup中一共有多少个child view
0,表示了最小值边界
getChildCount()-1,表示了最大边界
用一行代码简洁地描述了需要数行if...else才能表达的min<whichScreen<max 逻辑,是为精妙。
相关文章推荐
- 类型转换错误java.math.BigDecimal cannot be cast to java.lang.String
- java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer解决
- java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer
- Java基础回顾_Java property_属性 method_方法定义及范围权限控制
- java.math.BigInteger cannot be cast to java.lang.Integer
- Java源码---java.lang.Math
- java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String
- 【错误集锦】——java.math.BigDecimal cannot be cast to java.lang.String
- java.math.BigDecimal cannot be cast to java.lang.String问题解决方案
- Target class [class java.lang.Math] is excluded!
- java.lang.IllegalAccessException:Class org.apache.axis.providers.java.JavaProvider can not access a member of class MyMath with
- java.math.BigInteger cannot be cast to java.lang.Long
- java.lang.ClassCastException:java.math.BigDecimal cannot be cast to java.lang.String
- 【java】Math.random()的范围设置
- Could not write JSON: java.lang.Integer cannot be cast to java.math.BigInteger
- 【问题解决:连接异常】 java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
- Java.lang.Math.ceil()方法
- java.lang.ClassCastException:java.math.BigDecimal cannot be cast to java.lang.String
- java.math.BigDecimal cannot be cast to java.lang.String
- Android慎用layout嵌套, 尽量控制在5层下面java.lang.StackOverflowError