100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 精通Android自定义View(五)自定义属性值使用详情

精通Android自定义View(五)自定义属性值使用详情

时间:2022-10-11 09:49:34

相关推荐

精通Android自定义View(五)自定义属性值使用详情

1 可查看Android自定义View的基本使用

1 精通Android自定义View(一)自定义控的基本使用

2 精通Android自定义View(二)自定义属性使用详解

2 string 字符串

定义<declare-styleable name="MyTextView"><!--字符串--><attr name="my_textname" format="string"/></declare-styleable>自定义控件中获取 TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyTextView);//获取文字String textName = typedArray.getString(R.styleable.MyTextView_my_textname);

3 dimension 尺寸值

定义<declare-styleable name="MyTextView"><!-- 尺寸值 --><attr name="my_textsize" format="dimension"/></declare-styleable>自定义控件中获取 TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyTextView);//获取//获取文字大小 14是设置的默认值float textsize = typedArray.getDimensionPixelSize(R.styleable.MyTextView_my_textsize, 14);

4 color:颜色值

定义<declare-styleable name="MyTextView"><!--颜色--><attr name="my_textcolor" format="color"/></declare-styleable>自定义控件中获取 TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyTextView);//获取文字颜色int color = typedArray.getColor(R.styleable.MyTextView_my_textcolor, 0xff00ff00);

5 reference:参考某一资源ID。

定义<declare-styleable name="MyTextView"><!--引用某个资源的ID--><attr name="my_background" format="reference"/></declare-styleable>自定义控件中获取 TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyTextView);//获取背景int resourceId = typedArray.getResourceId(R.styleable.MyTextView_my_background, R.mipmap.ic_launcher);

6 boolean:布尔值.

7 枚举

一般属性需要指定 name 和 format ,枚举属性只需指定 name,然后用 enum 标签 指定所有可能属性的 name和value(注:value只能为int型)

定义 <?xml version="1.0" encoding="utf-8"?><resources><declare-styleable name="custom_view"><attr name="checkType" format="string" /><attr name="type"><enum name="password" value="1" /><enum name="checkButton" value="2" /><enum name="phone" value="3" /></attr></declare-styleable></resources>自定义控件中使用 int type = array.getInt(R.styleable.custom_view_type, 0);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。