Android如何自定义视图属性
作者:u011771755 发布时间:2021-11-23 04:27:39
标签:Android,自定义,视图,属性
本文实例为大家介绍了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>


猜你喜欢
- 前言Kotlin并没有想象中的那么牛逼哄哄,也并不难,我更喜欢把他看做一枚语法糖,所谓的语法糖就是:能够让代码变得更加简单易读的辅助工具。而
- 前言一般在c++中没有使用的变量会有警告,C#中也有,在QT中我们利用Q_UNSED可以直接消除这些警告,那么我们在C#中该如何做才能消除这
- 前言感觉Jpa的动态构建查询不好使用,然后mybatis-plus没有动态构建表的功能,有没有可能使两者混合使用,利用Jpa自动建表的优势
- 接口隔离原则(ISP)定义:使用多个专门的接口比使用单一的总接口要好。即不要把鸡蛋都放到一个篮子里。好处:比较灵活、方便,不想实现的或不用实
- 本文实例讲述了Java实现的读取资源文件工具类ResourcesUtil。分享给大家供大家参考,具体如下:package com.gclou
- 微信公众号开发一般是针对企业和组织的,个人一般只能申请订阅号,并且调用的接口有限,下面我们就来简单的描述下接入公众号的步骤:1、首先你需要一
- 最近一直在写c#的时候一直遇到这个报错,看的我心烦。。。准备记下来以备后续只需。参考博客:https://segmentfault.com/
- 如下所示:String beginDate="1328007600000";SimpleDateFormat sdf=n
- 概述在Spring中,我们可以通过 @Autowired注解的方式为一个方法中注入参数,那么这种方法背后到底发生了什么呢,这篇文章将讲述如何
- 1.加入jackson的jar包2.在响应的方法上加上@ResponseBody:把java对象转化为json对象3.方法的返回值可以是对象
- 今天来了一个问题:软键盘无法弹出。分析后是因为系统判断当前有外接硬键盘,就会隐藏软键盘。但实际情况并不是这么简单,该问题只有在特定条件下偶现
- 前端调用后端接口,获得数据并渲染一、介绍一个完善的系统,前后端交互是必不可少的,这个过程可以分成下面几步:前端向后端发起请求后端接口接收前端
- const和readonly经常被用来修饰类的字段,两者有何异同呢?const1、声明const类型变量一定要赋初值吗?一定要赋初值publ
- 1. 布局: GridBagLayout官方JavaDocsApi: java.awt.GridBagLayoutGridBagLayout
- 目录1、表达式目录树2、构建表达式目录树3、使用Expression来进行不同对象的相同名字的属性映射4、表达式目录树构建SQL删选&nbs
- 本文实例讲述了基于JavaMail API收发邮件的方法。分享给大家供大家参考。具体如下:1.JavaMail API按其功能划分通常可分为
- springboot使用mybatis一对多的关联查询由于刚开始写java不久,对sql语句的熟悉度还是不够熟练,虽然现在使用的mybati
- 代码如下一、创建EdgeLight.xaml代码如下。<ResourceDictionary xmlns="htt
- renameTo方法public boolean renameTo(File dest),File类中的renameTo方法可以操作文件或目
- Java代码 InputMethodManager imm = (InputMethodManager)getSystemService(S