2024-11-26 16:52:07 +09:00

50 lines
1.6 KiB
Kotlin

package com.example.calrendarview
import android.content.Context
import android.util.AttributeSet
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.constraintlayout.widget.ConstraintLayout
abstract class BaseCustomViews : ConstraintLayout {
constructor(context: Context) : super(context){appyAttrs(context,null)}
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs){appyAttrs(context,attrs)}
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(
context,
attrs,
defStyleAttr
){appyAttrs(context,attrs)}
constructor(
context: Context,
attrs: AttributeSet?,
defStyleAttr: Int,
defStyleRes: Int
) : super(context, attrs, defStyleAttr, defStyleRes) {appyAttrs(context,attrs)}
var layouId : Int = -1
open fun appyAttrs(context: Context?, attrs: AttributeSet?) {
context?.let {
val typedArray = it.obtainStyledAttributes(attrs, R.styleable.BaseCustomViews)
layouId = typedArray.getResourceId(R.styleable.BaseCustomViews_item_layout,R.layout.item_day)
initLayout(it)
}
}
fun initLayout(context: Context?) {
createdLayout(LayoutInflater.from(context).inflate(layouId, this, true))
}
open fun createdLayout(view : View) {
Log.e(this::class.simpleName,"view si $view")
}
// override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) {
// if (changed) {
//
// }
// }
}