`
dengbaoleng
  • 浏览: 1129401 次
文章分类
社区版块
存档分类
最新评论

Android高手进阶教程(四)之----Android 中自定义属性(attr.xml,TypedArray)的使用!

 
阅读更多

今天我们的教程是根据前面一节扩展进行的,如果你没有看,请点击 Android高手进阶教程(三) 查看第三课,这样跟容易方便你的理解!

xml文件里定义控件的属性,我们已经习惯了android:attrs="",那么我们能不能定义自己的属性能,比如:test:attrs=""呢?答案是肯定的.

好了我就不卖关子了,直接进入主题。大致以下步骤:

一、res/values文件下定义一个attrs.xml文件.代码如下:

二、 我们在MyView.java 代码修改如下,其中下面的构造方法是重点,我们获取定义的属性我们R.sytleable.MyView_textColor, 获取方法中后面通常设定默认值(float textSize = a.getDimension(R.styleable.MyView_textSize, 36 ); ) 防止我们在xml 文件中没有定义.从而使用默认值!

获取,MyView 就是定义在<declare-styleable name="MyView "></declare-styleable> 里的名字,获取里面属性用 名字_ 属性 连接起来就可以.TypedArray 通常最后调用 .recycle() 方法,为了保持以后使用该属性一致性!

MyView.java 全部代码如下:

三、将我们自定义的MyView 加入布局main.xml 文件中,平且使用自定义属性,自定义属性必须加上:

xmlns:test ="http://schemas.android.com/apk/res/com.android.tutor "蓝色 是自定义属性的前缀,红色 是我们包名.

main.xml 全部代码如下:

四、运行之效果如下图:

今天就到此结束,大家有什么疑问的,请留言,我会及时答复大家!谢谢~


分享到:
评论

相关推荐

    Android高手进阶教程与Android基础教程

    Android高手进阶教程之----Android 中自定义属性(attr.xml,TypedArray)的使用! .doc Android高手进阶教程之----Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!.doc Android高手进阶教程之----通过...

    Aj_03的Android 中自定义属性(attr.xml,TypedArray)的使用(源码)

    测试:Android 中自定义属性(attr.xml,TypedArray)的使用 注意:MyView(Context context,AttributeSet attrs)构造函数的实现, 和注意main.xml的LinearLayout 里加的声明 要了解:test:textSize="20px" test:...

    Android 中自定义属性(attr.xml,TypedArray)的使用

    NULL 博文链接:https://elingwange.iteye.com/blog/1285289

    Android自定义Attr属性

    Android自定义Attr属性 的具体使用例子,看完之后,你就知道如何自定义控件的属性

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    Android自定义View中attrs.xml的实例详解

    Android自定义View中attrs.xml的实例详解 我们在自定义View的时候通常需要先完成attrs.xml文件 在values中定义一个attrs.xml 然后添加相关属性 这一篇先详细介绍一下attrs.xml的属性。 &lt;?xml version=1.0 ...

    android开发教程之自定义属性用法详解

    自定义属性都存在于/value/attr.xml文件中,以如下格式存在。 代码如下: ”自定义属性名称”&gt; &lt;attr name=”属性名称” format=”属性种类”/&gt; …… 对于自定义属性中的format的值及其含义如下: format属性值:...

    Android自定义聊天气泡形状ImageView.rar

    Android自定义聊天气泡形状ImageView可设置箭头位置(左或右),图片圆角大小(属性在自定义attr.xml里面)

    Android代码-MultipleTheme

    第一步:在项目的attr.xml声明自定义属性(各种模式都会用到的属性) Setup 1:declare attribute in attr.xml 第二步:在项目的style.xml指定各种模式主题下的自定义属性值 Setup 2:declare attribute in ...

    RainyView-Android 自定义View之下雨动画 效果.zip

    这里有很多自定义view可以参考思路思路比较简单,整个view无非两样东西云雨滴这里又包含两部分动画,一部分是云的左右移动动画,一部分是雨滴移动动画 那我们这里可以自定义一些属性,如果对自定义属性还不太了解的...

    Android雷达图(蜘蛛网图)源码

    需要在res/values/attrs.xml中添加以下 &lt;declare-styleable name="MyNetPic"&gt; &lt;attr name="lineColor" format="color"/&gt;&lt;!-- 线的颜色 --&gt; &lt;attr name="cotentColor" format="color"/&gt;&lt;!-- 图形的颜色 --&gt; &lt;attr...

    android-segmented-control-view-可自定义样式、功能比较全的分段控件.zip

    项目地址:https://github.com/klongmitre/android-segmented-control-view效果图:如何使用xml中直接创建&lt;org.mitre.ascv.AndroidSegmentedControlView  android:id="@ id/androidSegmentedControlView"  ...

    详解Android自定义控件属性

    在Android开发中,往往要用到自定义的控件来实现我们的需求或效果。在使用自定义 控件时,难免要用到自定义属性,那怎么使用自定义属性呢? 在文件res/values/下新建attrs.xml属性文件,中定义我们所需要的属性。 ...

    Android代码-通过拖拽重排View位置的一个库

    -- add child views with `android:id` attr to save position during orientation change --&gt; &lt;!-- more child views --&gt; Child Position Listener Add a ChildPositionListener to the root ...

    PieGraphDemo-自定义饼状图效果.zip

    基于这个原因才有了我们这次的自定义饼状图的过程。效果展示:主要的功能:饼状图分块显示,不同的颜色表示不同的快。(必备的功能了)饼状图每一块的文字标示。饼状图的文字标示尽量不重叠。(这是我们自定义饼状图...

    详解Android自定义控件属性TypedArray以及attrs

    最近在研究android自定义控件属性,学到了TypedArray以及attrs。大家也可以结合《理解Android中的自定义属性》这篇文章进行学习,后续一篇还有应用。 1、attrs文件编写 &lt;?xml version=1.0 encoding=utf-8?&gt; ...

    css-attr.js

    css-attr.js

    Android自定义滑动解锁控件使用详解

    -- 滑动解锁控件 xml配置属性 --&gt; &lt;attr name=slideImageViewWidth format=dimension/&gt;&lt;!-- 滑块宽度 --&gt; &lt;attr name=slideImageViewResId format=reference/&gt;&lt;!-- 滑块资源id --&gt; &lt;attr name...

    Android中自定义控件的declare-styleable属性重用方案

    最近接触了Android自定义控件,涉及到自定义xml中得属性(attribute),其实也很简单,但是写着写着,发现代码不完美了,就是在attrs.xml这个文件中,发现属性冗余,于是就想有没有类似属性继承或者include之类的方法....

    option自定义属性的用处

    option自定义属性的用处,可以推广到其他的html标签

Global site tag (gtag.js) - Google Analytics