kotlin自定义属性

2020-10-17  本文已影响0人  书虫大王X
1、步骤:
2、自定义color代码实现:
第一步:
<resources>
<!-- name:声明你要在哪个控件中使用这个自定义的属性-->
    <declare-styleable name="ykLoading">
<!-- name:自定义属性的name    format:自定义属性的值类型(reference:表示可以引用自定义的值)-->
        <attr name="ykCircleColor" format="color|reference"/>

    </declare-styleable>
</resources>
第二步:使用自定义的属性
<ykView
        app:ykCircleColor="@color/ykCircleColor"/>
第三步:在自定义的控件中解析xml布局文件中的自定义属性(注意构造方法的使用)
constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet){
// attributeSet:解析xml中的属性 
// R.styleable.ykLoading:告知自定义的属性要作用在哪个文件(一般填当前本文件)
        var attrArray = context.obtainStyledAttributes(attributeSet,R.styleable.ykLoading)
 //  对外部变量进行赋值(R.styleable.ykLoading_ykCircleColor:被获取值的属性名    第二空:当被取值的属性没有值时,设置的默认值)
        外部变量= attrArray.getColor(R.styleable.ykLoading_ykCircleColor,Color.BLACK)
    }


上一篇下一篇

猜你喜欢

热点阅读