Android如何自定义视图属性
作者:u011771755 时间:2021-11-23 04:27:39
本文实例为大家介绍了Android自定义视图属性的方法,供大家参考,具体内容如下
1. 自定义一个自己的视图类继承自View
public class MyView extends View
{
public MyView(Context context, AttributeSet attrs)
{
super(context, attrs);
//获取到自定义的属性
TypedArray ta=context.obtainStyledAttributes(attrs, R.styleable.MyView);
int color=ta.getColor(R.styleable.MyView_rect_color, 0xffff0000);
setBackgroundColor(color);
//必须手动回收ta
ta.recycle();
}
public MyView(Context context)
{
super(context);
}
}
2. 在res/values目录中新建一个attrs.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
//定义一个declare-styleable标签,在里面设置attr属性
<declare-styleable name="MyView">
<attr name="rect_color" format="color"/>
</declare-styleable>
</resources>
一个attr属性,对应了一个视图属性
3.最后看布局文件中如何利用我们创建的自定义视图并设置其属性
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
//自定义一个MyView的命名空间
xmlns:gu="http://schemas.android.com/apk/res/com.gu.myrect"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.gu.myrect.MyView
android:layout_width="100dp"
android:layout_height="100dp"
//根据自定义的命名空间和我们在attrs中设置的属性,自定义属性值
gu:rect_color="#cc99cc" />
</LinearLayout>
标签:Android,自定义,视图,属性
0
投稿
猜你喜欢
springboot 如何取消starter的自动注入
2023-02-06 21:31:05
Mybatis中的@Select、foreach用法
2023-06-05 00:07:20
Android XRecyclerView实现多条目加载
2021-10-15 07:32:21
带你了解Java中Static关键字的用法
2021-11-07 15:04:32
C#实现最完整的文件和目录操作类实例
2022-05-19 09:38:51
C#序列化与反序列化实例
2023-05-05 21:05:27
java 数据结构之删除链表中的元素实例代码
2022-03-28 00:51:11
ShardingSphere解析SQL示例详解
2023-11-23 13:57:55
基于idea Maven中的redis配置使用详解
2023-11-29 11:57:28
SpringBoot创建maven多模块项目实战代码
2023-11-11 04:05:32
浅析Spring Boot单体应用熔断技术的使用
2022-05-10 02:37:08
c语言轻松实现猜数字小游戏
2021-10-21 23:42:13
Java字符串的intern方法有何奥妙之处
2022-07-21 13:38:16
Android编程设计模式之中介者模式详解
2022-04-05 21:13:03
Spring中Bean的生命周期使用解析
2021-09-06 23:06:54
详解spring boot 使用application.properties 进行外部配置
2023-02-13 02:09:11
Maven分模块开发执行指令失败的问题
2021-07-10 19:00:15
Java线程的基本概念
2022-05-20 16:30:22
Unity实现单机游戏每日签到系统
2023-05-13 08:42:36
C#多线程及同步示例简析
2022-02-25 22:12:43