Android应用资源的认识

Android应用资源的认识

最近在学习Android项目的开发,但是对于Android项目中资源文件的存放位置、作用之类的不怎么清楚。直到在一本书上看到关于这方面的介绍,下面就搬过来记录一下,方便自己以及想要学习Android开发的同学查询学习。
如图:
这里写图片描述

具体对应的功能见下表

资源文件夹功能
/res/animator/存放定义属性动画的XML文件
/res/color/存放定义不同状态下颜色列表的XML文件
/res/drawable/存放各种位图文件(.png, .9.png, .jpg, .gif)等 BitmapDrawable、StateListDrawable、ShapeDrawable、AnimationDrawable等
/res/layout/存放各种用户界面的布局文件
/res/menu/存放为应用定义各种菜单的资源
/res/raw/存放任意类型的原生资源(音频、视频文件),通过getResources().openRawResource()来访问
/res/values/存放各种简单值的XML文件,包括字符串值、整数值、颜色值等
arrays.xml定义数组资源
colors.xml定义颜色值资源
dimens.xml:定义尺寸值资源
strings.xml定义字符串资源
styles.xml定义样式资源
/res/xml/存放任意的原生XML文件,在Java中通过getResources().getXml()访问

1、StateListDrawable的使用(选择器)

状态描述
android:state_active代表是否处于激活状态
android:state_checkable代表是否处于可勾选状态
android:state_checked代表是否处于以勾选状态
android:state_enabled代表是否处于可用状态
android:state_first代表是否处于开始状态
android:state_focused代表是否处于已得到焦点状态
android:state_last代表是否处于结束状态
android:state_middle代表是否处于中间状态
android:state_pressed代表是否处于已被按下状态
android:state_selected代表是否处于已被选中状态
android:state_window_focused代表是否处于已得到焦点状态

栗子:(文本框的文字颜色随着状态的改变而改变)

<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <!--指定获得焦点时候的颜色-->  
    <item android:state_focused="true" android:color="#f44"></item>  
    <!--指定失去焦点时候的颜色-->  
    <item android:state_focused="false" android:color="#ccf"></item>  
</selector>  

2、LayerDrawable的使用

<?xml version="1.0" encoding="utf-8"?>  
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
    <!--定义轨道的背景-->  
    <item android:id="@android:id/background" android:drawable="@drawable/ic_launcher"></item>  
    <!--定义轨道上面已经完成的外观-->  
    <item android:id="@android:id/progress" android:drawable="@drawable/ic_action_search"></item>  
</layer-list>  

3、ShapeDrawable的使用

<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">  
    <!--rectangle 长方形   line 线   ring 圆环   oval 椭圆 -->  
    <!--   <corners>圆角</corners>  -->  
    <!--   <gradient>渐变</gradient>  -->  
    <!--   <padding>间隔</padding>  -->  
    <!--   <size>大小</size>  -->  
    <!--   <solid>填充</solid>  -->  
    <!--   <stroke>瞄边</stroke>  -->  

    <!--设置填充颜色-->  
    <solid android:color="#fff"></solid>  
    <padding android:left="7dp"  
        android:right="7dp"  
        android:top="7dp"  
        android:bottom="7dp"></padding>  
    <stroke android:width="3dp" android:color="#ff0"></stroke>  
</shape>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值