求N个数的最大最小值 使用泛型实现Comparable接口,可以适用于任意类型数字比较
1 2 3 4 5 6 7 8 9 10 fun <T:Comparable<T> > max (vararg nums:T ) :T{ if (nums.isEmpty()) throw RuntimeException("Params can not be empty" ) var maxNum=nums[0 ] for (num in nums){ if (num>maxNum){ maxNum=num } } return maxNum }
简化Toast用法 1 2 3 4 5 6 7 8 fun String.showToast (context: Context ,duration: Int =Toast.LENGTH_SHORT) { Toast.makeText(context,this ,duration).show() } fun Int .showToast (context: Context ,duration: Int =Toast.LENGTH_SHORT) { Toast.makeText(context,this ,duration).show() }
简化Snackbar用法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 fun View.showSnackbar (text:String ,actionText:String ?=null ,duration:Int =Snackbar.LENGTH_SHORT,block:(()->Unit )?=null ) { val snackbar= Snackbar.make(this ,text,duration) if (actionText!=null &&block!=null ){ snackbar.setAction(actionText){ block() } } snackbar.show() } fun View.showSnackbar (resId:Int ,actionResId:Int ?=null ,duration:Int =Snackbar.LENGTH_SHORT,block:(()->Unit )?=null ) { val snackbar= Snackbar.make(this ,resId,duration) if (actionResId!=null &&block!=null ){ snackbar.setAction(actionResId){ block() } } snackbar.show() }
1 2 3 4 view.showSnackbar("this is Snackbar" ,"Action" ){ }