Android自定义属性:attr.xml 与 TypedArray

1.attr.xml


<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyView">
<attr name="textColor" format="color" />
<attr name="textSize" format="dimension" />
</declare-styleable>
</resources>

2.在构造方法中使用


public MyView(Context context,AttributeSet attrs){
super(context,attrs);
mPaint = new Paint();

TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyView);

int textColor = a.getColor(R.styleable.MyView_textColor, 0XFFFFFFFF); //怎么获取:名字_ 属性 连接起来就可以
float textSize = a.getDimension(R.styleable.MyView_textSize, 36);

mPaint.setTextSize(textSize);
mPaint.setColor(textColor);

a.recycle();
}

3.在布局文件中使用


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:test="http://schemas.android.com/apk/res/com.android.tutor" //自定义属性前缀 与 包名
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<com.android.tutor.MyView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
test:textSize="20px"
test:textColor="#fff"/>
</LinearLayout>

Android自定义属性:attr.xml 与 TypedArray,布布扣,bubuko.com

时间: 2024-11-03 01:20:22

Android自定义属性:attr.xml 与 TypedArray的相关文章

Android高手之路之Android中的自定义属性attr.xml、TypedArray的使用

一般我们都是使用android:xxx=""...这样的android的属性.但有时我们需要使用自定义的属性,尤其是自定义view的时候尤其需要. 一般需要以下几个步骤: 1.在res/values 文件下定义一个attrs.xml 文件: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="MyView&q

Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用

本文转载自http://blog.csdn.net/jincf2011/article/details/6344678 今天我们的教程是根据前面一节扩展进行的,如果你没有看,请点击 Android高手进阶教程(三)查看第三课,这样跟容易方便你的理解! 在xml 文件里定义控件的属性,我们已经习惯了android:attrs="" ,那么我们能不能定义自己的属性能,比如:test:attrs="" 呢?答案是肯定的. 进入主题.大致以下步骤: 一. 在res/valu

Android-深入理解android自定义属性(AttributeSet,TypedArray)

属性 自定义属性,首先要定义出来属性,我们新建一个attrs.xml: <?xml version="1.0" encoding="utf-8"?> <resources> <attr name="textSize0" format="dimension" /> <declare-styleable name="button1"> <attr name=

Android自定义属性时TypedArray的使用方法

有时候android传统的页面布局不足以满足我们的需求,常常需要自己定义view,通常继承View,然后重写构造方法以及onDraw等函数,再具体实现自己定义的复杂view.我们知道在给控件赋属性时,通常使用的是android系统自带的属性,比如 android:layout_height="wrap_content",除此之外,我们亦可以自己定义属性,这样在使用的时候我们就可以使用形如 myapp:myTextSize="20sp"的方式了,步骤大致如下: 1 在

Android 自定义属性

Android自定义属性我们自定义控件中是经常用到的,自定义属性可以在我们的xml布局文件中使用,这样可以减少代码量,也增加了代码的健壮性和可阅读性.所以,在掌握自定义控件之前要首先掌握好怎样自定义属性. 首先来看看自定属性都有哪些? values/attrs.xml 中可定义的属性类型有如下几个: 1. reference:参考某一资源ID.<attr name = "background" format = "reference" /> 2. col

Android自定义属性为应用程序设置全局背景

关于自定义属性,我们用的比较多的时候就是在自定义view的时候了,其实自定义属性还有一些其余的妙用. 这里讲解一个利用自定义的属性为应用程序全局的替换背景的例子. 1.Android里面使用自定义属性的实例 可能我们在使用ToolBar的时候见过很多次的这种使用方式了. <android.support.v7.widget.Toolbar style="@style/ToolBarStyle" xmlns:android="http://schemas.android.

[android警告] AndroidManifest.xml警告 Should explicitly set android:allowBackup to true or false

Android中AndroidManifest.xml警告 Should explicitly set android:allowBackup to true or false (it's true by default, and that can have some security implications for the application's data) 解决方案: <application android:allowBackup="true"或 <applic

android 中theme.xml与style.xml的区别

from://http://liangoogle.iteye.com/blog/1848448 android 中theme.xml与style.xml的区别: 相同点: 两者的定义相同. <resources> <stylename="theme"parent="android:Theme.Black"> <itemname="android:windowNoTitle">true< /item>

Android自定义属性,format详解

博客园 博问 闪存 首页 新随笔 联系 管理 订阅 随笔- 90  文章- 6  评论- 57 Android自定义属性,format详解 1. reference:参考某一资源ID. (1)属性定义: <declare-styleable name = "名称"> <attr name = "background" format = "reference" /> </declare-styleable> (2