自定义组合控件及自定义属性

1、声明一个View对象继承相对布局或线性布局或其他的ViewGroup;

2、在自定义的View对象里面重写它的构造方法,在构造方法里面就把布局都初始化完毕;

3、根据业务需求 添加一些api方法,扩展自定义的组合控件;

4、扩展自定义属性:

5、声明自定义属性的命名空间:

xmlns:android="http://schemas.android.com/apk/res/android"(系统自带的命名空间)

xmlns:mAttrs="http://schemas.android.com/apk/res/packagename"

6、在res目录下的values目录下创建attrs.xml的文件,声明属性:(参照sdk文件下platforms\android-16\data\res\values\attrs.xml)

<declare-styleable name="SettingItemView">

<attr name="title" format="string" />

<attr name="desc_on" format="string" />

<attr name="desc_off" format="string" />

</declare-styleable>

7、布局文件里面定义的属性都放带有(AttributeSet  attrs)参数的构造方法中;

8、获取定义的属性:(通过命名空间和属性名称获取属性值)

attrs.getAttributeValue(String namespace, String name);

eg: attrs.getAttributeValue("http://schemas.android.com/apk/res/packagename", "title");

时间: 2024-10-03 13:10:03

自定义组合控件及自定义属性的相关文章

自定义组合控件和在自定义控件中使用自定义属性

今天,整理了一下我平时的笔记,写一个比较简单的自定义组合控件,仅供小白参考,大神请绕道,希望能够对大家有一些帮助 首先,得明白为什么我们需要自定义组合控件,它是因为原有控件并不能满足开发的需求,或者说并不能达到我们想要的一种效果,这个时候,就需要我们自己定义一些控件,以达到目的 ![先来看一下效果](http://img.blog.csdn.net/20160716224219109) 个人总结自定义控件的步骤: 1.先写一个布局,这里我用的是一个相对布局,我这里的相对布局就是根布局了 <?xm

Android自定义控件之自定义组合控件(三)

前言: 前两篇介绍了自定义控件的基础原理Android自定义控件之基本原理(一).自定义属性Android自定义控件之自定义属性(二).今天重点介绍一下如何通过自定义组合控件来提高布局的复用,降低开发成本,以及维护成本. 使用自定义组合控件的好处? 我们在项目开发中经常会遇见很多相似或者相同的布局,比如APP的标题栏,我们从三种方式实现标题栏来对比自定义组件带来的好处,毕竟好的东西还是以提高开发效率,降低开发成本为导向的. 1.)第一种方式:直接在每个xml布局中写相同的标题栏布局代码 <?xm

自定义组合控件,适配器原理-Day31

自定义组合控件,适配器原理-Day31 mobile2.1 主页定义 手机上锁功能 1.弹出设置密码框. 手机下载进度 自定定义控件 控件的属性其实就是控件类一个属性设置属性调用类的set方法方法, 自定义组合控件的思路 生命一个View对象继承自相对布局,线性布局或者其他的ViewGroup 在View对象重写构造方法,然后初始化布局,通过View.inflate()方法把我们自己定义的布局挂到界面当中. 自定义属性在res/values目录下创建attrs.xml里面定义一些属性, <res

android 自定义组合控件

自定义控件是一些android程序员感觉很难攻破的难点,起码对我来说是这样的,但是我们可以在网上找一些好的博客关于自定义控件好好拿过来学习研究下,多练,多写点也能找到感觉,把一些原理弄懂,今天就讲下自定义组合控件,这个特别适合在标题栏或者设置界面,看下面图: 就非常适合使用组合控件了,现在写一个玩玩: activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

Android自定义组合控件--图片加文字,类似视频播放软件的列表

分四步来写: 1,组合控件的xml; 2,自定义组合控件的属性; 3,自定义继承组合布局的class类,实现带两参数的构造器; 4,在xml中展示组合控件. 具体实现过程: 一.组合控件的xml 我接触的有两种方式,一种是普通的Activity的xml:一种是父节点为merge的xml.我项目中用的是第一种,但个人感觉第二种好,因为第一种多了相对或者绝对布局层. 我写的 custom_pictext.xml <?xml version="1.0" encoding="u

自定义组合控件的方法

自定义组合控件 1)编写一个类继承ViewGroup, 2)重写构造方法 3)在XML中配置一个视图,控件初始化时,填充这个视图,并挂载到控件中 4)添加自定义属性 在value目录中,编写一个xml文件,<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="setting_view_style"> <att

Android自定义控件——自定义组合控件

转载请注明出处http://blog.csdn.net/allen315410/article/details/39581055  前面几篇博文介绍了Android如何自定义控件,其实就是讲一下如何"从无到有"的自定义一个全新的控件,继承View或者继承ViewGroup,复写其相关方法,这种自定义控件的方式相对来说难度较大,而且并不是所有需要新控件的情况下,都要这样进行.有很多情况下,我们只要运用好Android给我提供好的控件,经过布局巧妙的结合在一起,就是一个新的控件,我称之为&

android:自定义组合控件Weight(高仿猫眼底部菜单栏)

在我们实际开发当中,会碰见一些布局结构类似或者相同的界面,例如应用的设置界面.tab按钮界面等.这时候,对于初学者来说,xml里面一个个绘制出来或许是最初的想法:可能随着经验的积累,又学会一招,就是使用include标签,导入类似或者相同的布局,提高了性能又减少了代码:再以后呢,自定义控件又可以实现这一目的.本文就是简单的使用自定义的组合控件模仿猫眼底部菜单栏. 1.自定义组合控件属性:在res/values目录下创建attrs.xml文件 <declare-styleable name="

Android中自定义组合控件

Android中自定义控件的情况非常多,一般自定义控件可以分为两种:继承控件及组合控件.前者是通过继承View或其子类,重写方法实现自定义的显示及事件处理方式:后者是通过组合已有的控件,来实现结构的简化和代码的重用. 本篇文章主要介绍自定义组合控件,继承控件后续有机会再述. 自定义组合控件一般来说都是以ViewGroup及其子类(LinearLayout.RelativeLayout.FrameLayout等)为主,内部嵌套其他控件,来组合成一个新的控件,实现一些特定的需要,可以是代码简化,结构