关于自定义View中的自定义属性
关于自定义View中的自定义属性
小卒搬砖 发表于2年前
关于自定义View中的自定义属性
  • 发表于 2年前
  • 阅读 30
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

自定义属性:

1、首先在res/values/  下建立一个attrs.xml(有的话就不需要再建了) , 在里面定义我们的属性和声明我们的整个样式。

<resources>
    <declare-styleable name="FiexedLayout">
        <attr name="demoHeight" format="integer" />
        <attr name="demoWidth" format="integer" />
        <attr name="standard" format="string" />
    </declare-styleable>
</resources>

ormat是值该属性的取值类型:

一共有:string,color,demension,integer,enum,reference,float,boolean,fraction,flag;

这里可以看下http://blog.csdn.net/wxg630815/article/details/6989316

 

2、在View的构造方法中,获得我们的自定义的样式

TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.FiexedLayout, defStyle, 0);
        if(a!=null){
            mDemoHeight = a.getInteger(R.styleable.FiexedLayout_demoHeight,-1);
            mDemoWidth = a.getInteger(R.styleable.FiexedLayout_demoWidth,-1);
            mStandard = a.getString(R.styleable.FiexedLayout_standard);
        }

 

3、在xml中使用属性

            app:demoHeight="490"
            app:demoWidth="640"
            app:standard="w"

xml中命名空间除了原有的

xmlns:android="http://schemas.android.com/apk/res/android"

还需要添加

xmlns:app="http://schemas.android.com/apk/res-auto"

文中代码素材取自另一篇博客http://my.oschina.net/reone/blog/716238

注意:attrs.xml中自定义属性时,不能与已有的属性名称相同,如title。

关于自定义view的详细介绍请看弘扬大神的博客http://blog.csdn.net/lmj623565791/article/details/24252901

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 6
博文 58
码字总数 22339
×
小卒搬砖
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: