android bool定义,Android简单类型资源(Bool、Color、Dimension、ID、Integer、Integer Array、Typed Array)...

Android中Bool、Color、Dimension、ID、Integer、Integer Array、Typed Array类型的资源:

一、Bool

定义的文件位置:res/values/filename.xml。文件名任意。

引用:

Java类:R.bool.bool_name

XML文件:@[package:]bool/bool_name

语法:

[true | false]

例子:res/values/bools.xml:

true

false

JAVA类中取值:

Resources res = getResources();

boolean screenIsSmall = res.getBoolean(R.bool.screen_small);

XML文件引用bool资源:

android:layout_height="fill_parent"

android:layout_width="fill_parent"

android:src="@drawable/logo"

android:adjustViewBounds="@bool/adjust_view_bounds" />

二、Color

使用color标签来定义一种颜色资源,使用#符号来指定颜色值,其后跟一个可选的Alpha通道,再之后使用一个或两个十六进制值来标识RGB。样例:

#RGB#ARGB

#RRGGBB

#AARRGGBB

文件位置:res/values/colors.xml。文件名任意。

引用:

Java类:R.color.color_name

XML文件:@[package:]color/color_name

语法:

hex_color

例子:res/values/colors.xml:

#f00

#80ff0000

Java代码引用:

Resources res = getResources();

int color = res.getColor(R.color.opaque_red);XML资源文件中引用:

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:textColor="@color/translucent_red"

android:text="Hello"/>

三、Dimension(尺寸)

要指定一个尺寸资源,可以使用dimen标签来指定尺寸的值,并在其后跟一个标识符来描述尺寸的单位:

px:屏幕像素,与屏幕实际像素一致。这是个不建议使用的单位,因为在不同设备上的实际表现会差异很大,每种设备每英寸的像素数可能不同,屏幕上的总像素数亦可能更多或更少。in:物理英寸,基于屏幕物理尺寸。pt:物理点,基于屏幕实际尺寸,对应1/72英寸。mm:物理毫米,基于屏幕物理尺寸。dp:非密度制约的像素。分辨率无关的像素(Pixel)单位,一种基于屏幕的物理(像素)分辨率的抽象单位。此单位基于一个160 dpi(每英寸点数)的屏幕,所以160dp常常是1英寸且与屏幕像素分辨率无关。dp和像素的比率会随着屏幕密度而变化,但不一定成正比。建议用于在layout里指定View尺寸,这样UI在不同屏幕上能自动缩放而显示出相同的大小。(“dip”和“dp”同义,编译器都可接受,虽然“dp”更近似于“sp”。)sp:缩放比例无关的像素。类似于dp,但还会根据用户的字体大小设置进行缩放。建议用于指定字体大小,这样根据屏幕分辨率和用户设置都能自动调整。

文件位置:res/values/filename.xml。文件名任意。

引用:

Java类:R.dimen.dimension_name

XML文件:@[package:]dimen/dimension_name

语法:

dimension

例子:res/values/dimens.xml:

25dp

150dp

30dp

16sp

Java代码引用:

Resources res = getResources();

float fontSize = res.getDimension(R.dimen.font_size);XML资源文件中引用:

android:layout_height="@dimen/textview_height"

android:layout_width="@dimen/textview_width"

android:textSize="@dimen/font_size"/>

四、ID

用XML格式定义的资源唯一ID。对应元素里指定的名称,Android开发工具在R.java类中创建一个唯一的整数,可用来标识应用程序资源(比如:UI布局中的一个View),或者在应用程序代码中被用作一个唯一的整数(比如:对话框的ID或一个返回值)。

注意:请记住ID资源不代表一个实际的资源项,而只是一个可与其他资源绑定的唯一ID,或是一个用于应用程序代码中的唯一整数。

文件位置:res/values/filename.xml。文件名任意。

引用:

Java类:R.id.name

XML文件:@[package:]id/name

语法:

:定义一个唯一的ID。不含值,只含属性。

属性:

Type:必须是“id”。

name:String类型。ID的唯一名称。

例子:

res/values/ids.xml文件:

以下代码将“button_ok”作为Button控件的ID:

style="@style/button_style" />注意android:id的值:ID引用里不含加号“+”了,因为这个ID已经在上面的ids.xml中定义过了。(如果XML资源里用加号指定一个ID—类似格式android:id="@+id/name"—那就意味着“name”命名的ID还不存在并需要创建它。)

五、Integer

文件位置:res/values/filename.xml。

文件名任意。

引用:

Java类:R.integer.integer_name

XML文件:@[package:]integer/integer_name

语法:

integer

例子:res/values/integers.xml:<?xml version="1.0" encoding="utf-8"?>

75

5

Java文件中调用:

Resourcesres=getResources();intmaxSpeed=res.getInteger(R.integer.max_speed);

六、Integer Array

整数数组。

文件位置:res/values/filename.xml。文件名任意。

引用(同String Array):

Java类:R.array.integer_array_name

XML文件:@[package:]array.integer_array_name

语法:

<?xml version="1.0"encoding="utf-8"?>integer

例子:res/values/integers.xml:

75

10

20

@integer/max_speed

Java中调用:

Resourcesres=getResources();int[]bits=res.getIntArray(R.array.bits);

七、Typed Array

用于创建其它资源(除了String和Integer,字符串有String Array,整数有Integer Array)的数组,比如drawable。注意数组元素不必是同一类型的,可以创建多种资源组成的数组。但必须小心处理数组内不同的数据类型,利用TypedArray类的get...()方法正确地读取每个数据项。

文件位置:res/values/filename.xml。文件名任意。

编译后的资源数据类型:

指向TypedArray的指针。

引用(同String Array、Integer Array):

Java类:R.array.array_name

XML文件:@[package:]array.array_name

语法:

<?xml version="1.0"encoding="utf-8"?>resource

例子,res/values/arrays.xml文件:

<?xml version="1.0"encoding="utf-8"?>@drawable/home@drawable/settings@drawable/logout#FFFF0000#FF00FF00#FF0000FF

以下程序代码取出每个数组并读取第一个数组元素:

Resourcesres=getResources();TypedArrayicons=res.obtainTypedArray(R.array.icons);Drawabledrawable=icons.getDrawable(0);TypedArraycolors=res.obtainTypedArray(R.array.colors);intcolor=colors.getColor(0,0);

测试以上资源的源码:测试Demo

官网原文:http://developer.android.com/guide/topics/resources/more-resources.html

参考:http://www..com/over140/archive/2011/10/24/2222255.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值