美文网首页
自定义View属性的两种方式

自定义View属性的两种方式

作者: Humo | 来源:发表于2017-10-12 15:13 被阅读0次

一、xml定义style的方法

创建attrs.xml

 <declare-styleable name="rainbowbar">
      <attr name="rainbowbar_hspace" format="dimension"></attr>
      <attr name="rainbowbar_vspace" format="dimension"></attr>
      <attr name="rainbowbar_color" format="color"></attr>
 </declare-styleable>

继承View类,并重写构造方法

public class LoadingLine extends View {

    public LoadingLine(Context context) {
        super(context);
    }

    public LoadingLine(Context context, AttributeSet attrs) {
        this(context, attrs,0);
    }

    public LoadingLine(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);

        TypedArray t = context.obtainStyledAttributes(attrs,
                R.styleable.rainbowbar, 0, 0);
        int  hSpace = t.getDimensionPixelSize(R.styleable.rainbowbar_rainbowbar_hspace, 100);
        int  vSpace = t.getDimensionPixelOffset(R.styleable.rainbowbar_rainbowbar_vspace, 100);
        int  barColor = t.getColor(R.styleable.rainbowbar_rainbowbar_color, Color.GREEN);
        t.recycle();   // we should always recycle after used
    }
}

二、代码定义style属性

public class BannerAd extends View {

    public BannerAd(Context context, String id) {
        super(context);
    }

    public BannerAd(Context context, AttributeSet attrs) {
        super(context, attrs);
     
        String namespace = "http://schemas.android.com/apk/lib/com.kok.kok";
        String adSize = attrs.getAttributeValue(namespace, "adSize");
        String adAnimType = attrs.getAttributeValue(namespace, "adAnimType");
        String adUnitId = attrs.getAttributeValue(namespace, "adUnitId");
    }
}

使用方式:
由于没有在style样式中声明属性,所以使用控件时需要把自定的命名空间和属性需要手动写上。适用于sdk开发。

相关文章

  • Android日志:自定义属性和文本绘制

    概览 改变自定义View属性值得两种方式1、代码直接设置2、自定义属性,xml中配置自定义属性的步骤1、 创建at...

  • Android | 自定义属性

    前言 自定义View经常需要用到自定义属性 属性根据使用方式不同,也可以分为控件属性、主题属性、Manifest属...

  • Android自定义View总结

    Android自定义View总结 [toc] 步骤 自定义View的属性 在View的构造方法获取我们自定义的属性...

  • Android自定义View步骤

    自定义View 的步骤 自定义View属性 在View的构造方法中获得自定义的属性 重写onMesure 重写on...

  • 自定义View属性的两种方式

    一、xml定义style的方法 创建attrs.xml 继承View类,并重写构造方法 二、代码定义style属性...

  • 安卓自定义 View 启航

    先总结下自定义 View 的步骤: 自定义 View 的属性 在 View 的构造方法中获得我们自定义的属性 [重...

  • Android三级联动wheel代码分析(二)

    自定义View的步骤:1、自定义View的属性2、在View的构造方法中获得我们自定义的属性[3、重写onMesu...

  • 自定义View之CustomImageView

    自定义View的步骤: 自定义VIew的属性 在VIew的构造方法中获得我们的属性 重写OnMeasure方法 重...

  • 自定义View

    自定义view的属性 在view的构造方法中获得我们自定义的属性 重写onMeasure 重写onDraw 自定义...

  • 自定义View入门

    一、自定义View的基本步骤概括 自定义View的属性 在View子类的构造方法中获取自定义的属性 重写 onMe...

网友评论

      本文标题:自定义View属性的两种方式

      本文链接:https://www.haomeiwen.com/subject/iztoyxtx.html