android---自定义视图属性

来源:互联网 发布:淘宝内存怎么清理缓存 编辑:程序博客网 时间:2024/05/18 02:18

步骤呢,首先创建一个类 继承自View

然后在主页的Xml文件上 用包名.类名 即以构建

可以在上面加上 android:height width 属性等等


package com.example.l01myrect;import android.content.Context;import android.content.res.TypedArray;import android.util.AttributeSet;import android.view.View;public class MyRect extends View{//此构造方法由资源解释器访问public MyRect(Context context, AttributeSet attrs) {super(context, attrs);TypedArray ta = context.obtainStyledAttributes(attrs,R.styleable.MyView);int color = ta.getColor(R.styleable.MyView_rect_color,0xfff000ff);//设置进去setBackgroundColor(color);//用完之后要ta.recycle();}public MyRect(Context context) {super(context);}}



这是xml文件的源代码

<LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:jkxy="http://schemas.android.com/apk/res/com.example.l01myrect"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    android:orientation="vertical"    tools:context=".MainActivity" >    <com.example.l01myrect.MyRect        android:layout_width="100dp"        android:layout_height="100dp"        jkxy:rect_color="#ff0000ff" /></LinearLayout>



不知道为什么设置颜色属性失败.还望大神们解答。


0 0
原创粉丝点击