文档章节

1.android工程目录说明

ARESXIONG
 ARESXIONG
发布于 2015/06/01 23:46
字数 1330
阅读 14
收藏 0

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自定义属性值.

· 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> 
    </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:定义显示的样式文件;

10.res/raw:自定义的一些原生文件所在目录,像音乐、视频等文件格式.存放直接复制到设备中的任意文件.它们无需编译,添加到你的应用程序编译产生的压缩文件中.要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID也可以用,R.raw.somefilename,Resources.getRawResource()方法可以获得这些资源.

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

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

13.res/animator:存放定义了propertyanimationsandroid 3.0新定义的动画框架)的XML文件

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

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

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

注意:

res/ color文件夹,在这个文件夹下放的是color_selector.xml等文件,主要是用于背景色selector,比如TextView中的textColor属性,点击改变TextView中的字体颜色,在这个文件中的文件color_selector.xml中定义如下:

主要的属性是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文件夹中的文件,这个文件夹中的文件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: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>




这里的info_collect_btn_normal_bginfo_collect_btn_pressed_bg是图片资源,放在drawableXX文件夹下的.

同时也发现了在drawable_selector.xml中没有android:color属性,结合上面的color_selector.xml中没有android:drawable属性,知道了Android应该是根据文件夹来判断的,color文件夹下的文件有android:color属性,drawable文件夹下的文件有android:drawable属性

同时还要注意的是:textColorbackground属性引用到的文件不能乱引用,比如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

20150601


ANDROID学习笔记系列

--------------------------------------------

                    联系方式

--------------------------------------------

        Weibo: ARESXIONG

        E-Mail: aresxdy@gmail.com

------------------------------------------------

© 著作权归作者所有

ARESXIONG
粉丝 8
博文 104
码字总数 225460
作品 0
西城
私信 提问
cocos2d android 配置

1.Android 环境的搭建 (略) 2.下载NDK (略) 3.配置NDK的环境变量 变量名 NDKROOT cocos2d 中寻找用到这个.变量名要不是NDKROOT 会出现 第4步中的错误提示. .也可以手动配置去改NDK中的文...

younchen
2013/03/31
419
0
React Native Mac 下打包Android APK

打包的时候遇到了 好多坑 这里记录下~ 主要步骤: 1.android keystore签名的生成 gradle mac下环境变量的配置 3.android studio中的gradle配置。 4.打包 签名的生成 执行完之后,输入本机的 ...

JsLin_
2018/06/18
0
0
AndroidStudio 生成Jar并混淆

初探: android studio生成Jar. android studio 自动生成aar. 1.android studio 自动生成.jar, 首先将工程作为依赖库,build即可。 2.手动打包jar 1> 仅打包class文件 task makeJar(type: J...

Cinema2345
2015/12/30
2.8K
1
Unity3D集成Android端和iOS端微信登录及分享

Unity3D集成原生SDK接入微信登录及分享,不能使用ShareSDK或友盟等第三方插件,要求: 1.Android Studio工程,及导出的arr文件,使用微信官方SDK,供Unity3D调用; 2.Unity3D工程,调用Andro...

zb1498378088201
2017/06/25
127
0
Android中对html进行分析

1.Android 中获取html源代码 public String getHtmlString(String urlString) { try { URL url = new URL(urlString); URLConnection ucon = url.openConnection(); InputStream instr = uco......

Okimbin
2013/02/22
302
0

没有更多内容

加载失败,请刷新页面

加载更多

javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法

下面的元素属性和元素方法都通过 elem.属性 或 elem.方法 的方式使用,window属性通过 window.属性 的方式使用,document属性则通过document调用: <script> /* ****** 元素视图属性 * offs...

Bing309
12分钟前
3
0
Apache Kafka快速入门指南

简介 Kafka是基于发布订阅的消息系统。最初起源于LinkedIn,于2011年成为开源Apache项目,然后于2012年成为Apache顶级项目。Kafka用Scala和Java编写,因其分布式可扩展架构及可持久化、高吞吐...

AiChinaTech
14分钟前
2
0
Discrete Cosine Transform [DCT] (离散余弦变换)

Discrete Cosine Transform [DCT] (离散余弦变换)

divenwu
14分钟前
2
0
如何玩转 TiDB 性能挑战赛?本文教你 30 分钟快速上手拿积分!

作者:wish 上周我们正式宣布了 TiDB 性能挑战赛。在赛季内,通过向 TiDB、TiKV、PD 贡献代码完成指定类别任务的方式,你可以获得相应的积分,最终你可以使用积分兑换礼品或奖金。在性能挑战...

TiDB
15分钟前
2
0
12、SpringMVC数据回显

数据回显方法 1.springmvc默认对pojo数据进行回显。 pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写) 使用@ModelAttribute指定pojo回显...

快乐的瓶子
16分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部