自定义view,获取xml视图中自定义的属性的值

第一步:先在styles.xml文件声明好自定义view要用到的自定义属性

示例代码如下:声明default_size


        
        
    

注:name = SquareView 标识声明的属性的归类

第二步:在xml视图中使用自定义属性

示例代码如下:使用default_size

    

第三步:在自定义view的类里面获取声明的专用属性的值

示例代码如下:取出default_size的值

public SquareView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        Log.i(TAG, "在第二个构造函数");

        /** 获取自定义属性值 */
        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.SquareView);
        int customValue = typedArray.getDimensionPixelSize(R.styleable.SquareView_default_size, 200);
        String logContent = String.format("自定义view默认尺寸大小:%d px",customValue);
        Log.d(TAG, logContent);
    }

注:获取专用属性的值,用到了Context类的obtainStyledAttributes()方法,返回的信息被保存在一个TypedArray的类中。然后调用TypedArray中相应的方法取出自定义属性的值

你可能感兴趣的:(自定义view,获取xml视图中自定义的属性的值)