最近,app中要显示一个状态栏,包含,网络状态,时间和电量状态
想偷个懒,找个自定义电量项目,找了半天,没有想要的效果
只能,自己手动写一个了
代码比较简单:
import android.annotation.SuppressLint
import android.content.Context
import android.graphics.*
import android.graphics.drawable.Drawable
import android.util.AttributeSet
import android.util.Log
import android.view.View
import androidx.core.content.ContextCompat
import com.qqq.demo.R
import kotlin.properties.Delegates
/**
* 创建日期:2021/12/8 13:21
* 包名: com.qqq.demo.view
* @author qqq
* 类说明:
*
*/
class BatteryView(mContext: Context?, attrs: AttributeSet?, defStyleAttr: Int) :
View(mContext, attrs, defStyleAttr) {
companion object {
val TAG = BatteryView::class.java.simpleName
val Header_Height_Percent = 0.35f
val Header_Width_Percent = 0.1f
val Max_Power = 100
val Inside_margin = 3
val stokeWidth = 2f
val redius = 4f
}
private lateinit var paintBorder: Paint
private lateinit var paintFill: Paint
private lateinit var paintFillCharging: Paint
// 头部尺寸
private var headerHeight: Float = 0f
private var headerWidth: Float = 0f
//电量
private var mPower = 100
//是否在充电
private var isCharging = false
private var lowerPower:Int = 20
private var chargingDrawable: Int = R.drawable.charging_2
private var lowColor: Int = R.color.red_f00
private var chargingColor: Int = R.color.green_0f4