zoukankan      html  css  js  c++  java
  • android 自定义控件 属性配置

    需要在res/value/下常见attrs.xml 文件

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <declare-styleable name="MyView">
            <attr name="bgColor" format="color" />
            <attr name="progress" format="integer" />
             <attr name="borderWidth" format="dimension" />
        </declare-styleable>
    </resources>

    自定义控件使用

    class MyView @JvmOverloads constructor(
        context: Context?,
        attrs: AttributeSet? = null,
        defStyleAttr: Int = 0
    ) : View(
        context,
        attrs,
        defStyleAttr
    ) {
    
        private var bgColor:Int = 0
        private var progress:Int = 0
        private var borderWidth:Int = 0
    
        init {
            val typedArray =
                context?.obtainStyledAttributes(attrs, R.styleable.DashboardView, defStyleAttr, 0)
            bgColor = typedArray?.getColor(R.styleable.MyView_bgColor,R.color.black) ?: R.color.black
            progress = typedArray?.getInt(R.styleable.MyView_progress, 10) ?: 10 
            borderWidth = typedArray?.getDimensionPixelSize(R.styleable.MyView_borderWidth,2) ?: 2
            //使用完以后销毁    
            typedArray?.recycle()
        }
        
    }
  • 相关阅读:
    HTML
    MySQL 表操作
    MySQL 库操作
    MySQL
    python 客户端的安全性验证和服务端对客户端的多端连接
    python 黏包
    python 通信
    SpringData —— HelloWorld
    JPA
    Hibernate ——二级缓存
  • 原文地址:https://www.cnblogs.com/rchao/p/13424984.html
Copyright © 2011-2022 走看看