Kotlin开发效率提升技巧—扩展函数

什么是扩展函数?

在介绍什么是Kotlin的扩展函数之前,先来看一个具体的例子。
在日常Android任务开发中,一般在设置View的尺寸时都应该使用dp值,但是View系统底层都是使用的px值来进行计算的,所以需要把dp值转成对应的px值。
在Java中,可以写一个dp转px的工具类,代码如下:

public class Util {
   
	public static float dp2px(float dpValue, Context context) {
   
		return TypedValue.applyDimension(
				TypedValue.COMPLEX_UNIT_DIP,
				dpValue,
				context.getResources().getDisplayMetrics()
		)
	}
}

之后,在需要dp转px的地方调用如下方法就可以了。

float pxValue = Util.dp2px(20f, context)

这也是在Java中最常规的操作了,现在使用Kotlin之后,同样也可以定义一个一模一样的工具类进行数值转换,但是Kotlin中有更加优雅的写法。
新建一个Extensions.kt文件,编写如下代码:

fun Float.dp2px(context: Context) : Float {
   
    return TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_DIP,
        this,
        context.resources.displayMetrics
    )
}

然后,使用下面的写法就可以进行dp转px了

val pxValue = 20f.dp2px(context)

Kotlin扩展函数的基本结构如下:

fun ClassName.methodName(param: ParamType) : ReturnType {
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值