文档章节

从AttributeSet 中取出特定的值

lightUp
 lightUp
发布于 2016/03/02 15:58
字数 93
阅读 41
收藏 0


给定一个 AttributeSet attrs (比如在 LayoutInflater 里面,尚未创建 view 之前就已经解析出了 attrs)怎样获取特定的属性 呢:


    
    int[] attrsArray = new int[] {
        android.R.attr.id, // 0
        android.R.attr.background, // 1
        android.R.attr.layout_width, // 2
        android.R.attr.layout_height // 3
    };
    
    TypedArray ta = context.obtainStyledAttributes(attrs, attrsArray);
    
    int id = ta.getResourceId(0 /* index of attribute in attrsArray */, View.NO_ID);
    Drawable background = ta.getDrawable(1);
    int layout_width = ta.getLayoutDimension(2, ViewGroup.LayoutParams.MATCH_PARENT);
    int layout_height = ta.getLayoutDimension(3, ViewGroup.LayoutParams.MATCH_PARENT);
    ta.recycle();


© 著作权归作者所有

共有 人打赏支持
lightUp
粉丝 10
博文 242
码字总数 287936
作品 0
杭州
程序员
声明 styleable 与声明 attr 的区别

举个栗子: com.xx.xx.R public static final class styleable { ... public static final int [] ActionBar = { 0x7f010006, 0x7f01000b, 0x7f010036, 0x7f010037, 0x7f010038, 0x7f010039,......

lightUp
2016/03/09
43
0
Android自定义控件——自定义属性

我们在自定义Android组件的时候,除了用Java构建出组件的样子外,有时候还需要去申明一些“属性”提供给项目使用,那么什么是组件的属性呢? 例如在清单文件中,创建一个TextView的时候,这是...

海阔天空玩世不恭
2016/08/24
6
0
Android自定义属性

自定义属性 在res/values目录下增加属性定义文件attr.xml 通过标签声明了自定义属性,通过name属性来确定引用的名称。标签定义哪些属性:name属性名称,format属性类型,有:string , intege...

火烧
2016/01/16
132
0
android中如何利用attrs和styles定义控件

一直有个问题就是,Android中是如何通过布局文件,就能实现控件效果的不同呢?比如在布局文件中,我设置了一个TextView,给它设置了textColor,它就能够改变这个TextView的文本的颜色。这是如...

等待流星
2013/10/11
0
0
自定义View的一些总结

一、自定义View 1、构造方法的选中,获取一些需要用到的值 2、重写onMeasure方法,计算子View的宽高,以及自己的宽高 3、重写onLayout方法,决定子View的布局位置 4、需要用的手势是可重写o...

遇见sunshine
2016/01/27
24
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

阿里云API网关使用教程

API 网关(API Gateway)提供高性能、高可用的 API 托管服务,帮助用户对外开放其部署在 ECS、容器服务等阿里云产品上的应用,提供完整的 API 发布、管理、维护生命周期管理。用户只需进行简...

mcy0425
32分钟前
4
0
解决远程登陆误按ctrl+s锁屏假死恢复

使用putty时,偶尔发生屏幕假死,不能输入等情况。 后来发现,只要数据ctrl+s,就会假死;输入ctrl+q就可以恢复过来。 很多刚从windows转移到linux上来工作的朋友,在用vi/vim编辑文件时,常常...

HJCui
35分钟前
0
0
@Transactional

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于...

asdf08442a
39分钟前
2
0
widows下强制解除8080端口占用问题

使用win+R打开命令窗口 输入以下命令查看哪个任务占用了8080端口 netstat -ano |findstr "8080" 然后通过任务id强制关闭占用该端口的进程 tskill 10044 // 自己的试情况而定,这个ID是LISTE...

_Artisan
48分钟前
2
0
productFlavors简单实用

最近项目中,不同环境需要配置的参数越来越多,为了减少修改代码次数。研究了一下productFlavors的使用方式,总结如下 1. as3.0以上版本使用productFlavors时需要指定一个flavorDimensions,...

火云
50分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部