您的位置:首页 > 移动开发 > Android开发

Android中项目中各个文件夹的含义和用途详解

2014-10-18 06:27 253 查看
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: 存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称:

.attrs.xml:自定义属性值的:具体可以参考 /article/1374669.html · arrays.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>


View Code
这里的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详解中。

本文转载自:http://blog.csdn.net/jiangwei0910410003/article/details/16985955
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: