前言
随着google宣布kotlin作为官方开发语言,在Android中使用kotlin的趋势也越来越明显,最近被kotlin的文章轰炸了,所以决定上手试一下,试过之后,感觉靠它灵简直有魔性。特别是一句话写出一个复杂的循环的时候,简直被惊呆。而且使用AS,Java代码可以直接转成Kotlin。
效果图如下:
首先是这次自定义View的效果图,是一张饼图。如果是用java写的话也就几十行,觉得换成Kotlin的话可能会更少。
示例代码
主要的功能是可以任设定数据的个数,我这里是4个数据,可以任意设定每个数据的颜色。
#####首先上Kotlin代码#####
package top.greendami.mykotlinapp
import android.content.Context
import android.graphics.*
import android.util.AttributeSet
import android.view.View
/**
* Created by GreendaMi on 2017/4/10.
*/
class PPCircle : View {
var mDatas = ArrayList()
var mColors = ArrayList(4)
var mPaint: Paint = Paint()
constructor(mContext: Context) : super(mContext) {
val context = mContext
}
constructor(mContext: Context, mAttributeSet: AttributeSet) : super(mContext, mAttributeSet) {
initPaint()
val context = mContext
}
fun initPaint() {
mPaint.isAntiAlias = true
mPaint.style = Paint.Style.FILL_AND_STROKE
mPaint.color = 0xff44b391.toInt()
}
//长宽一致
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
super.onMeasure(widthMeasureSpec, height