博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android初学之自定义控件
阅读量:6626 次
发布时间:2019-06-25

本文共 1462 字,大约阅读时间需要 4 分钟。

hot3.png

自定义控件.

1,写一个自定义控件类继承系统的一个布局.(5大布局) ,重写3个构造方法 定义checked方法判断当前自定义控件是否被选中(如果自定义控件里面有CheckBox,可以把CheckBox找到,判断它是否被选中)
  可以再写一个方法来设置当前控件的选中状态:setChecked();  要更改里面的内容还要写方法

2,在res_layout目录下创建layout:你要显示的样式,注意:如果里面有checkbox,需要注意他的点击和焦点

3,用View.inflate(context, R.layout.view_setting, this); //把xml文件转化成对象,this:view对象以自己为父体  在三个构造方法中都要调用

4,在要用到自定义控件的layout.xml文件里面放入自定义控件,节点名称是自定义控件类的全名

  <com.example.myapplication.SettingView
   android:id="@+id/sv_setting"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content" />
 

 

5,在value目录下创建一个attrs.xml文件,里面创建自定义控件的属性
 <declare-styleable name="my_setting_view">
        <attr name="title" format="string" />  //title属性是string类型
        <attr name="content" format="string" />
    </declare-styleable>
 
6,在activity中要使用自定义控件,就要在它的layout.xml中声明自己的名称空间:
 在 xmlns:android="" 后添加自己的名称空间
  xmlns:xxx=""
  
  这时就可以在自定义的控件里面设置它的属性,如下:
   <com.example.myapplication.SettingView
   android:id="@+id/sv_setting"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   xxx:title = "我是标题"
   xxx:content = "我是内容"/>
   
7,在自定义控件类中的构造方法里面:

  //把属性集和我们定义的属性数组建立对应关系

  TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.my_setting_view);
  String content = a.getString(R.styleable.my_setting_view_content);
  String title = a.getString(R.styleable.my_setting_view_title);
  tv_title.setText(title);  //控件tv_title需要在view.inflate()后findViewbyId找到控件
  tv_content.setText(content);
  a.recycle();
  
8,在Activity代码中找到自定义控件,进行操作 

转载于:https://my.oschina.net/u/1174979/blog/142921

你可能感兴趣的文章
Java中的IO操作(一)
查看>>
Python---装饰器
查看>>
s17data01
查看>>
kubernetes1.9.1 集群
查看>>
java set and get 用法
查看>>
linux笔记1-1
查看>>
dubbo源码分析-负载均衡
查看>>
一统江湖的大前端(3) DOClever——你的postman有点low
查看>>
云栖大会上发布了哪些移动研发新利器?
查看>>
《黑客免杀攻防》读书笔记-软件逆向工程(6) switch-case分支
查看>>
day6作业--游戏人生完善
查看>>
金字塔思维
查看>>
strak组件(10):批量操作
查看>>
thinkphp空控制器的处理
查看>>
Mahout分步式程序开发 聚类Kmeans(转)
查看>>
修改linux最大文件句柄数
查看>>
接口幂等
查看>>
LibreOffice 打开中文乱码
查看>>
FromBottomToTop第十三周项目博客
查看>>
Activity的四种启动模式
查看>>