Android应用资源

前言:

1.统揽Android应用,发现android应用由:资源,java文件,布局文件(xml)文件组成,完美的业务逻辑靠java文件,完美的用户界面靠的是布局文件还有资源文件,android在管理资源上独具一格,传统方式是一般都是零散定义变量,这种情况导致在以后的维护中,必须到处寻找变量,了解到这种弊端后,有经验的程序员就会把变量定义到一个专门的变量类中,方便以后的维护,android的资源管理也查不到哪里去(想想google公司吧,能成为全球瞩目的IT公司,没两把刷子也不可能),android允许各种资源定义在res的value目录下(color,string,array,menu etc.)

【assets目录也是允许放资源文件的,唯一的区别是,res下的资源会在R.Java文件中生成对应的资源索引,应用程序可以通过R.Java文件访问资源文件,如果要访问assets下的资源文件,可以通过Context类的AssetManager获取资源文件】,也就是说,android应用中的资源其实有两种存在方式:一.原生态资源(主要保存在Assets下);二.应用资源(可以通过R类直接访问,主要保存在res下)

一.资源存储方式

(以下文件夹在创建的应用的时候有些并没有自动创建,需要我们手动创建)

/res/animator/  --------主要存放属性动画的xml文件

/res/anim/---------------主要存放补间动画的xml文件

/res/color/---------------主要存放颜色xml文件

/res/drawable----------主要存放位图文件

/res/layout/--------------主要存放布局xml文件

/res/menu/------------  主要存放菜单xml文件

/res/raw/----------------主要存放音频文件(也是原生态文件哦)

/res/values/------------存放各种类型的简单值(color、string、array、style、dimen etc.)

//------------------------------------------------------------------------------------------------------------------------------------------------------

二.几种比较重要的资源

StateListDrawable资源

stateListDrawable主要用于组织多个Drawable对象,通过它,我们可以自定一个控件在不同状态下的表现形态

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:pressed按下状态

android:selected被选中状态

android:state_window_focused  得到窗口焦点状态

//--------------------------------------------------------------------------------

layerDrawable 资源

layerDrawable的根元素是<layer-list />,该元素可以指定以下属性:

android:drawable  指定drawable对象

android:id  指定Drawable对象要画在哪里

android:button/top/left/right:指定drawable对象所画的位置

//--------------------------------------------------------------------------------------

shapeDrawable资源

根元素:<shape />

指定元素:android:shape=["rectangle"|"oval"|"line|"ring""]

//-------------------------------------------------------------------------------------

clipDrawable  资源(截取)

根元素:<clip  />

指定属性:android:drawable 指定drawable对象

                    android;clipOrientation  截取方向  水平还是垂直

                    android;gravity   截取的对齐方式

clipdrawable对象的setLevel(level)方法,当level=0,截取为空,当level=10000,截取整张图

//---------------------------------------------------------------------------------------

原文地址:https://www.cnblogs.com/IntelligentBrain/p/5111285.html