• Android 笔记之 R 文件


    Android笔记之R文件

    阅读目录


    一、R 文件的内容

    在 Android Studio 中 R 文件位于 app -> build -> generated -> source -> r -> debug -> 包名 -> R

    要注意几点:

    • R 文件的本质是一个 java 文件,文件为 R.java
    • 该文件其实就是一个 public final class R{} 类,该类里面包含的全是以 public static final 开头的内部类,在这些内部类中全是以 public static final int 开头的属性
    • 在 Android Studio 中打开 R.java 文件,然后按 Ctrl + Shift + 减号键,可以看到 R.java 的总体内容

    R 文件的内容(下面省略了部分代码):

    public final class R{
    	
    	//全是以 publi static final 开头的内部类
    	
    	...
    	
    	public static final class layout{...}
    	public static final class id{...}
    	public static final class drawable{...}
    	public static final class mipmap{...}
    	public static final class color{...}
    	public static final class string{...}
    	public static final class style{...}
    	
    	...
    	
    }
    

    内部类 id 里面的内容(下面省略了部分代码):

    public static final class id{
    	
    	//全是以 public static final int 开头的属性
    	
    	...
    	
    	public static final int button_1="0x7f070022";
    	public static final int button_2="0x7f070023";
    	public static final int button_3="0x7f070024";
    	
    	...
    	
    }
    

    [ 返回顶部 ]



    二、通过 R 文件引用资源

    在 xml 文件中引用资源

    • @[package:]type/name,其中 package 表示包名,如果在同一个包内引用,则不需要写包名,例如:@style/AppTheme
    • @android:type/name,其中 android 表示引用 android 系统内部资源

    在 java 文件中引用资源

    • R.type.name,例如:R.layout.first_layout ,R.id.button_1
    • android.R.type.name,其中 android 表示引用 android 系统内部资源

    可以看到:

    在 java 文件中引用资源时,直接对 R.java 文件中的内容进行调用,例如:R.id.button_1,表示调用 R 这个类下面的 id 这个内部类中的 button_1 属性

    在 xml 文件中 @ 符号表示调用 R.java 文件中的资源,举个例子:@style/AppTheme 中的 @ 符号可以理解为 R这个类,而 style 表示 R 类中的 style 内部类,AppTheme 表示,style 内部类中的 AppTheme 属性


    [ 返回顶部 ]



  • 相关阅读:
    css 标签 清除浮动
    css 标签 垂直居中
    getResource().getPath()返回的路径空格变成了 %20
    css3颜色渐变
    网页动画结束判断事件
    手机端js事件支持(event)
    手机端js实现滑块推动
    手机端js模拟长按事件(代码仿照jQuery)
    基于SOA架构---ServiceProxy定义
    对SSL加密通信安全的理解
  • 原文地址:https://www.cnblogs.com/huangzenglie/p/8666685.html
Copyright © 2020-2023  润新知