1. src:存放所有的*.java源程序。

  2. gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID。

  3. assets:可以存放项目一些较大的资源文件,例如:图片、音乐、字体等。

  4. res:可以存放项目中所有的资源文件,例如:图片(.png、.jpg)、文本等。

  5. res/drawable-hdpi:保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。

  6. res/drawable-ldpi:保存低分辩率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。

  7. res/drawable-mdpi:保存中等分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。

  8. res/layout:存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置。

  9. res/values: 存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称:

  10. attrs.xml:自定义属性值的:具体可以参考 http://blog.csdn.net/jiangwei0910410003/article/details/17006087 · arrays.xml:定义数组数据;

<?xml version="1.0" encoding="utf-8" ?><resources>     <string-array name="MyArray">          <item name="1,35,3">第一</item>           <item name="5,34,0">第二</item>           <item name="1,30,1">第三</item>           <item name="2,31,0">第四</item>     </string-array> </resources>在代码中读取:Resources r = this.getResources();String[] ary = r.getStringArray(R.array.MyArray);· colors.xml:定义表示颜色的数据;    · dimens.xml:定义尺度,可以使用Resources.getDimension()获得这些资源;   · strings.xml:定义字符串,可以使用Resources.getString()或Resources.getText()方法获得这些资源;   · styles.xml:定义显示的样式文件;<resources xmlns:android="http://schemas.android.com/apk/res/android">    <!--         Base application theme, dependent on API level. This theme is replaced        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.     -->    <style name="AppBaseTheme" parent="android:Theme.Light">        <!--             Theme customizations available in newer API levels can go in            res/values-vXX/styles.xml, while customizations related to            backward-compatibility can go here.         -->      </style>    <!-- Application theme. -->    <style name="AppTheme" parent="AppBaseTheme">        <item name="android:windowNoTitle">true</item>    </style>    <!-- 全局的Activity切换动画 -->    <style name="MyTheme" parent="AppTheme">    <item name="android:windowAnimationStyle">@style/ActivityAnimation</item></style>    <style name="ActivityAnimation">        <!--  打开activity,设置activity进入展示动画  -->        <item name="android:activityOpenEnterAnimation">@anim/pubblico_activity_anim_push_right_in</item>        <!--  打开activity,设置上个activity离开动画  -->          <item name="android:activityOpenExitAnimation">@anim/pubblico_activity_anim_push_left_out</item>        <!--  结束activity,设置上个activity进入动画  -->          <item name="android:activityCloseEnterAnimation">@anim/pubblico_activity_anim_push_left_out</item>        <!--  结束activity,设置当前activity离开动画  -->          <item name="android:activityCloseExitAnimation">@anim/pubblico_activity_anim_push_right_out</item>      </style></resources>
  1. res/raw:自定义的一些原生文件所在目录,像音乐、视频等文件格式。存放直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID也可以用,即R.raw.somefilename,Resources.getRawResource()方法可以获得这些资源。

  2. res/xml:用户自定义的XML文件,所有的文件在程序运行时编译到应用程序之中,在程序运行时可以使用Resources.getXML()方法获取。

  3. res/anim:用于定义动画对象。存放定义了补间动画(tweened animation)或逐帧动画(frameby frame animation)的XML文件。(该目录下也可以存放定义property animations的XML文件,但是最好还是分开存放)

  4. res/animator:存放定义了propertyanimations(android 3.0新定义的动画框架)的XML文件

  5. res/color/:存放定义了颜色状态列表资源(ColorState List Resource)的XML文件

  6. res/drawable/:存放定义了图片状态列表资源(ColorState List Resource)的XML文件

  7. res/menu/:存放定义了应用程序菜单资源的XML文件。正确创建文件的方法:new Folder,名字menu,new Other——Android——XML,选择menu类型,填写名称,确定即可。菜单资源文件必须放在res/menu目录中。菜单资源文件必须使用<menu>标签作为根节点。除了<menu>标签外,还有另外两个标签用于设置菜单项和分组,这两个标签是<item>和<group>

注意:

对于res/colorres/drawable这两个文件中的内容在这作一下详解:

  • res/color
    首先说一下color文件夹,在这个文件夹下放的是color_selector.xml等文件,主要是用于背景色的selector,比如TextView中的textColor属性,点击改变TextView中的字体颜色,在这个文件中的文件color_selector.xml中定义如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_window_focused="false"  android:color="@color/not_pressed" /><item android:state_selected="false" android:state_focused="false" android:state_pressed="false" android:color="@color/not_pressed"/><item android:state_selected="true" android:color="@color/pressed" /><item android:state_focused="true" android:color="@color/pressed" /><item android:state_pressed="true" android:color="@color/pressed" />
</selector>

主要的属性是android:color引用不同的色值,而这些色值是在values/color.xml文件中定义的,比如:

<?xml version="1.0" encoding="utf-8"?>
<resources><color name="not_pressed">#000000</color><color name="pressed">#ffffff</color>
</resources>

同时也可以发现,在color_selector.xml中没有android:drawable属性,我不知道Android中是根据什么判断什么时候有android:drawable属性,什么时候有android:color属性的

  • res/drawable
    下面来看一下res/drawable文件夹中的文件,这个文件夹中的文件drawable_selector.xml,主要是用于背景图的使用,Button中的android:background,点击改变背景,drawable_selecor.xml文件的定义:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_window_focused="false"  android:drawable="@drawable/info_collect_btn_normal_bg"/><item android:state_selected="false" android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/info_collect_btn_normal_bg" /><!-- Non focused states --><item android:state_selected="true" android:drawable="@drawable/info_collect_btn_pressed_bg" /><!-- Focused states --><item android:state_focused="true" android:drawable="@drawable/info_collect_btn_pressed_bg" /><!-- Pressed --><item android:state_pressed="true" android:drawable="@drawable/info_collect_btn_pressed_bg" />
</selector>

这里的info_collect_btn_normal_bg和info_collect_btn_pressed_bg是图片资源,放在drawableXX文件夹下的。
同时也发现了在drawable_selector.xml中没有android:color属性,结合上面的color_selector.xml中没有android:drawable属性,知道了Android应该是根据文件夹来判断的,在color文件夹下的文件有android:color属性,在drawable文件夹下的文件有android:drawable属性

同时还要注意的是:像textColor和background属性引用到的文件不能乱引用,比如textColor引用了drawable_selector.xml,background引用了color_selector.xml会报错的。所以要注意使用。

但是现在有个问题:假设Button现在想点击变成绿色,不点击变成红色,这时候怎么办?

首先肯定要用background的属性–>那肯定就要用drawable_selector.xml文件引用,所以在drawable_selector_.xml中将android:drawable="@drawable/info_collect_btn_normal_bg"改成android:drawable="@color/not_pressed"即可,这里可能有个误解就是android:drawable只能引用drawable资源,但是事实证明这个误解是多余的!原理可以参考attr详解中。

android studio各个资源文件夹以及作用备注相关推荐

  1. android studio assets 添加,Android studio 添加assets文件夹的方法

    Android studio 添加assets文件夹的方法 我们知道Eclipse创建的工程默认是有个assets文件夹的,但是Android studio默认没有帮我们创建,那么我们就自己创建一个就 ...

  2. android studio在raw文件夹下使用MediaPlayer播放Mp3音乐

    android studio在raw文件夹下使用MediaPlayer播放Mp3音乐 1.在res文件夹下创建raw文件夹 2.在新建好文件夹之后,将MP3文件拖入进刚刚创建好的raw文件夹内 3.使 ...

  3. Android Studio mipmap各文件夹下图片尺寸一览表

    Android studio中mipmap文件夹有五个,分别对应不同的图片分辨率,具体尺寸表见下图.

  4. android studio 的x86文件夹,AndroidStudio修改默认C盘配置文件夹(.android.gradle.AndroidStudio)以及修改后避免踩的坑...

    场景 AndroidStudio下载安装教程(图文教程): 在上面安装完Android Studio后,会默认在C:\Users\Administrator下生成以下目录 这三个文件夹的作用: .an ...

  5. Android项目中res文件夹的作用

    做过Android项目的人都会发现项目中有一个res文件夹,在这个文件夹下有drawable文件夹.layout文件夹.mipmap文件夹.values文件夹和menu文件夹. drawable文件夹 ...

  6. Android Studio sdk tools文件夹下文件缺失问题以及解决方法

    转自  http://www.jianshu.com/p/d6c01bf27e4a 碰上这种情况 是在配置Android安装其SDK的时候出现了"A folder failed to be ...

  7. android studio 创建 jniLibs文件夹用于放置jar包和os文件

    每次创建新项目都要重新创建jniLibs,很烦(每次都忘了怎么创建(傻逼!)),无奈之下还是写一篇博客以备不时之需 在gradle下配置: sourceSets {main {jniLibs.srcD ...

  8. Android Studio中新增文件夹并新建Activity时,编译后提示“程序包R不存在”解决

    开始看到网上的各种方法都不是很好用,最后看到一种方法,其实超级简单,直接加进来就行了. 比如我的工程中每个activity中都有 package com.example.chen.bluetestap ...

  9. appdata里的Android,android studio如何自定义res资源文件夹目录?-appdata是什么文件夹...

    概述 在Android开发中,经常会有大量的布局.字符串.图片以及图标资源文件需要管理.而且默认都是会放在一个res资源文件夹下面.那么有什么办法可以对这些资源进行分模块或者分类型呢? 下面我来和大家 ...

最新文章

  1. 创建操作/删除多行数据的UITableView的细节
  2. 通信基站电池,再也不怕丢了
  3. Redis缓存使用技巧
  4. 帝豪gl车机系统降级_从拥有帝豪GL开始,出行的好伴侣,说说感受
  5. python不等式编程_在Python中pandas列上的不等式
  6. python文件处理:每隔一定数目删除;文件重命名;删除多余xml文件;将文件夹线所有文件平均分配到其他文件夹
  7. 0046-简单的分段函数(二)
  8. 03 - const static extern
  9. no [query] registered for [filtered] in es7 的解决方法
  10. 大数据学习笔记55:搭建HBase环境
  11. 用于将带有查询字符串的复杂对象传递到Web API方法的自定义模型绑定器
  12. Spring Boot集成RabbitMQ发送接收JSON
  13. Linux的用户和组
  14. AutoCAD2013 以上利用AccoreConsole+ c# NetApi 批量处理图纸
  15. html打开lync客户端,Lync 2013与Exchange 2013--客户端发现响应内容类型为“text/html ”,但应为“text/xml”...
  16. Java并发编程:自己动手写一把可重入锁
  17. 做开发你遇到最无理的需求是什么?
  18. C++中的名字空间和作用域
  19. 工程测量:坐标正反算公式
  20. 1_ARM Cortex-M处理器简介

热门文章

  1. echarts+bmap地图去掉底图可点功能
  2. 自动关闭Office2010 OSPPSVC.EXE
  3. 饮用水用 降低COD的树脂,医药行业除COD
  4. 蛋花花谈程序员年过四十该何去何从
  5. 蛋花花:人工智能在逼问我们一个问题
  6. 腾讯文档服务器异常怎么回事,腾讯文档怎么编辑不了 编辑不了解决方法
  7. 在线生成在微信可用的网址二维码的API接口
  8. 计算机编程国际赛事,中小学生学习C++编程可以参加的赛事
  9. 计算机启动进入桌面非常慢,电脑开机加载桌面很慢的解决办法
  10. 微信小程序 图片设置为圆形