Android R文件介绍
R.java 文件中默认有attr、drawable、layout、string等色哥静态内部类,每个静态内部类分别对应着一种资源,如layout静态内部类对应着layout中的接界面文件,其中每个静态内部类中的静态常量分别定义为一条资源标识符,如下:
- //下面对应着的是layout目录下的main.xml文件
- public static final int main = 0x7f030000;
- 资源文件只能以小写字母和下划线做首字母,随后的名字中只能出现[a-z0-9_] 这些字符,否则R.java文件不会自动更新,并且eclipse会提示错误
- 当开发者在res/目录中任何一个子目录中添加相应类型的文件之后,ADT会在R.java文件中相应内部类中自动生成一条静态int类型的常量,对添加的文件进行索引
- 如果在layout目录下添加一个新界面,那么在public static final class layout 中也会添加相应的静态int常量
- 相反,我们再res目录下删除任何一个文件,其在R.java文件中对应的记录会被ADT自动删除
- R.java文件除了自动标示资源的索引功能外,如果res目录中的某个资源在应用中没有被使用到,在该应用被编译的时候系统就不会把对应的资源编译到该应用的apk包中,节省资源
通过R文件来引用所需要的资源:
在 java 程序中应用资源
- 在java程序中应用资源
- 按照java的语法来引用即 R.resource_type.resource_name
- 注意:resource_name 不需要文件的后缀名
- Android系统本身自带了很多资源可以引用,只是需要在前面加上 Android. 以申明来自Android系统,即Android.R.resource_type.resource_name
- 在xml文件中引用资源
- 在xml文件中一般是通过@drawable/icon的方式获取的,其中@代表R.java类,drawable代表的是R.java中的静态内部类drawable,/icon代表静态内部类drawable中的静态属性icon
- 如果访问的是Android系统自带的文件,则要添加Android:,如下:
- 在布局文件中当我们需要为一些组件添加Id属性作为标识@+id/string_name,其中“+”表示在R.java的名为Id的内部类中添加一条常量名为string_name的记录
- android:textColor="@android:color/red"
Android R文件介绍的更多相关文章
- android R文件不能识别?
android R文件引入不了原因可能是: 1.xml有错误,导致R文件生成失败:(修改xml,并clear,然后再重新Bulid一下即可) 2.如果是图片,可能是命名有问题,查看并修改(不要以数字开 ...
- android R 文件生成不了
在android中比较头疼的是R文件生成不了.今天总结一下R文件生成不了的一些原因和解决方法 1. xml文件有错, 如果在res文件中的xml文件有错,android不会自动生成R文件,此时仔细查看 ...
- android R 文件 丢失的处理 如何重新生成
很多时候我们会遇到工程中的R.java文件丢失,必要急,修复很简单. 方法:右击你的工程(项目)——>Android Tools——>Fix Project Properties 即可. ...
- Android R文件的id
如果你用 apktoool 反编译过 apk 就知道,反编译后res/values 下有一个 public.xml 文件,内容如图 这个东西有什么用呢? 先从如何使用资源 ID 开始,在开 ...
- Android R文件相关问题
今天遇到的问题,gen下没有自动生成文件,而大部分java文件中错误是找不到R.java.“R cannot be resolved to a variable” 这就一定有别的原因造成错误, ...
- 关于android R.layout 中找不到已存在的布局文件问题的解决
今天遇到一个很奇怪的问题,打R.layout.,居然不会提示已经写好的布局文件,自己把xml文件名打下去后,居然提示错误. 开始以为是R文件中没有自动生成关于布局文件对应的整型,看了R文件,其实是有生 ...
- Android下HelloWorld项目的R.java文件介绍
R.java文件介绍 HelloWorld工程中的R.java文件 package com.android.hellworld; public final class R { public s ...
- Android资源文件及文件夹介绍
在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的 1:assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片, ...
- Android 笔记之 R 文件
Android笔记之R文件 h2{ color: #4abcde; } a{ color: blue; text-decoration: none; } a:hover{ color: red; te ...
随机推荐
- springboot 集成mybatis plus3
gradle: compile group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: '3.0.1' MybatisPl ...
- docker push到私有仓库
1.登录 docker login http://xxxxx.com 2.登录私有hub创建项目 例如项目叫:abc-dev 2.给镜像打tag docker tag 2e25d8496557 xxx ...
- [ZZ] 麻省理工( MIT)大神解说数学体系
麻省理工( MIT)大神解说数学体系 http://blog.sina.com.cn/s/blog_5ff4fb7b0102e3p6.html 其实每一门学科都应该在学习完成后,在脑子里面有一个体系, ...
- redis 延时任务 看一篇成高手系列2
引言 在开发中,往往会遇到一些关于延时任务的需求.例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务.那么这里就会产生一 ...
- windows下matplotlib编译安装备忘
windows下,codeblocks,mingw安装matplotlib. python下一些源码的编译安装,备忘. matplotlib官网编译好的版本只支持到3.3.我不慎刚下了python3. ...
- ios下表单post使用gzip模式
使用afnetworking,服务器参考的这里 ios端,使用自己的序列化类 manager.requestSerializer = [MyHttpRequestSerializer new];[ma ...
- springboot 中的commandLineRunners接口
首先看实现了两个接口运行的顺序结果: My1: package com.example.commandlinerunner; import lombok.extern.java.Log;import ...
- phpcms基础循环
lists循环{pc:content action="lists" catid="2" order="id DESC" num=" ...
- python之路——14
王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594 复习 1.迭代器 1.双下方法:不常直接调用,是通过其他语法触发的 2.可迭代的:可迭代协议——含有__it ...
- js中slice方法(转)
1.String.slice(start,end)returns a string containing a slice, or substring, of string. It does not m ...