Android中如何自定义xml属性

Android中如何自定义xml属性

这篇“Android中如何自定义xml属性”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android中如何自定义xml属性”文章吧。

1. 首先创建一个新的android application.

Android中如何自定义xml属性

2. 创建属性
在res/values/ 下创建一个attr.xml 文件,定义好需要的attributes

<?xmlversion="1.0"encoding="utf-8"?><resources><declare-styleablename="custom"><attrname="text"format="string"/><attrname="size"format="integer"/><attrname="color"format="reference|color"/></declare-styleable></resources>

3. 创建自定义的View

创建一个View, CustomView 继承自View(根据具体的情况,如果需求和已经存在的widget或者layout相差不大,就继承,重写一些方法)

packagecom.hualu.androidview;importandroid.content.Context;importandroid.content.res.TypedArray;importandroid.graphics.Canvas;importandroid.graphics.Paint;importandroid.util.AttributeSet;importandroid.view.View;publicclassCustomViewextendsView{privatePaintp=null;privateStringtext=null;publicCustomView(Contextcontext){super(context);initCustomView();}publicCustomView(Contextcontext,AttributeSetattrs){super(context,attrs);initCustomView();TypedArraya=context.obtainStyledAttributes(attrs,R.styleable.custom);intindexCount=a.getIndexCount();for(inti=0;i<indexCount;i++){intindex=a.getIndex(i);switch(index){caseR.styleable.custom_text:text=a.getString(index);break;caseR.styleable.custom_size:p.setTextSize(a.getInt(index,0));break;caseR.styleable.custom_color:p.setColor(a.getColor(index,0xFF000000));break;}}a.recycle();}voidinitCustomView(){p=newPaint();p.setAntiAlias(true);};@OverrideprotectedvoidonDraw(Canvascanvas){super.onDraw(canvas);canvas.drawText(text,10,10,p);}}

4. 在layout的文件使用自定义的view

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:custom="http://schemas.android.com/apk/res/com.hualu.androidview"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:text="@string/hello_world"/><com.hualu.androidview.CustomViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"custom:text="customview"custom:color="#00FF00"custom:size="18"/></RelativeLayout>

以上就是关于“Android中如何自定义xml属性”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注恰卡编程网行业资讯频道。

发布于 2022-04-15 22:28:03
收藏
分享
海报
0 条评论
20
上一篇:Android中的位置管理器怎么使用 下一篇:Android中怎么应用Message机制
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码