Android中如何自定义xml属性
Android中如何自定义xml属性
这篇“Android中如何自定义xml属性”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android中如何自定义xml属性”文章吧。
1. 首先创建一个新的android application.
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属性”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注恰卡编程网行业资讯频道。
推荐阅读
-
怎么使用Android基准配置文件Baseline Profile方案提升启动速度
-
HTML5如何实现禁止android视频另存为
-
「原创」PHP实战-XML详细教程
-
在PHP中使用SPL库中的对象方法进行XML与数组的转换
虽说现在很多的服务提供商都会提供JSON接口供我们使用,但是,还是有不少的服务依然必须使用XML作为接口格式,这就需...
-
深入学习PHP中的JSON相关函数
在我们当年刚刚上班的那个年代,还全是XML的天下,但现在JSON数据格式已经是各种应用传输的事实标准了。最近几年开始学习...
-
学java好还是学php好?
-
wps打开word文件出现无法打开因为内容有问题的解决办法
-
php将xml转化对象的实例详解
XML文件$xml="123456";将文件转换成对象$objectxml=simplexml_load_...
-
Android如何实现多点触控功能
-
android怎么实现多点触摸应用