文档章节

从AttributeSet 中取出特定的值

lightUp
 lightUp
发布于 2016/03/02 15:58
字数 93
阅读 42
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

Java Sound Programmer Guide

Introductory Material Preface For Whom This Guide Is Intended What this Guide Describes For More Information Chapter: 1 Introduction to the Java Sound API Design Goals Who is th......

祖冲之
9分钟前
0
0
HTTP协议状态码304和200区别

当浏览器第一次加载资源的时候,返回一般为200,意思是成功获取资源,并会在浏览器的缓存中记录下max-age; 当第二次访问的时候:如果只是用浏览器打开,那么浏览器会去判断这个资源在缓存里...

晚风0623
10分钟前
0
0
阿里云物联网平台体验(树莓派+Python篇)

虽然对阿里云物联网平台比较熟悉了,从一开始就有幸参与了飞凤平台(Link Develop 一站式开发平台的前身)的一些偏硬件接入的工作。但是同时也见证了阿里云物联网团队从几十人到数百人的迅速...

阿里云云栖社区
22分钟前
0
0
java单例设计模式

实现方法一 package com.hs.pattern.singleton;/** * 优点:实现简单 * 缺点:线程不安全 * 例如:当两个线程都运行到if( singleton == null ),而singleton确实为空,则两个线程都...

yangyangyyyy
27分钟前
1
0
MacOS下安装MongoDB数据库

官方链接:Install MongoDB Community Edition on macOS 推荐大家使用Homebrew安装 ##1.更新 Homebrew’s 包版本 brew update 2.安装MongoDB brew install mongodb 休息片刻,等他安装完就...

凌宇之蓝
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部