一.android中的资源是在代码中使用的外部文件。图片,音频,动画和字符串等叫做android中的资源文件。
二.Android工程 资源类型布局表
与src源文件夹并列的两个文件夹assets和res用来保存资源文件。
1.assets文件夹中放原声文件如MP3文件,通过AssetManager类以二进制流的形式访问
2.res中资源可以通过R资源类直接访问:
anim:保存动画
drawable:位图文件
layout:xml布局文件
values:各种xml资源文件
arrays.xml:xml数组文件
colors.xml:xml颜色文件
dimens.xml:xml尺寸文件
styles.xml:xml样式文件
raw:直接复制到设备中的源文件
menu:xml菜单文件
使用mContext.getResources()得到Resources对象来获取资源
XML的写法如下:
![Android中的资源布局 Android中的资源布局](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
一个android工程中,有各种类型的资源文件,大致可以分为以下几种:
1、 颜色 #RGB #ARGB #RRGGBB #AARRGGBB
颜色资源应该位于 < resourses ></ resourses > 标签下
路径res/values/colors.xml 名字可以随意
定义 < color name =”cname”>value</color>
使用 Resourse.getValues.getColor
<?xml version ="1.0" encoding ="utf-8" ? >
< resources >
< color name ="white" > #FFFFFF </ color >
< color name ="black" > #000000 </ color >
</ resources >
2、 字串
字串资源应该位于 < resourses ></ resourses > 标签下
路径res/values/strings.xml
定义 < String name =”sname”>value</String>
使用 Resourse.getValues.getString
<?xml version ="1.0" encoding ="utf-8" ? >
< resources >
< string name ="hello" > Hello World, ResrouseTestActivity! </ string >
< string name ="app_name" > ResrouseTest </ string >
</ resources >
3、 图片
图片资源一般使用png格式,使用其他格式的会出现各种问题,貌似不支持gif格式的图片,可是使用Movie来播放gif格式的图片
路径res/drawable
可以直接存放图片也可以是xml等配置文件(一般用于自定义组件)
使用 getDrawable
4、 图片的颜色
位于res/values/my_drawable.xml名字随意
<? xml version="1.0" encoding="utf-8" ?>
< resources >
< drawable name ="solid_red" > #FF0000 </ drawable >
</ resources >
定义用于填充一个组件的颜色值,即给view设置背景色。用法和drawable下的图片一样,其实没多少意义,使用颜色定义就ok了,目前我是这样认为的,可能有更好的优点,不过我没发现罢了,嘿嘿,continue...
5、 单位资源
单位资源应该位于 < resourses ></ resourses > 标签下
路径res/values/dimen.xml 名字可以随意
使用和String、color类似
<? xml version="1.0" encoding="utf-8" ?>
< resources >
< dimen name ="dimen_name" > 2px </ dimen >
< dimen name ="dimen_px" > 5px </ dimen >
< dimen name ="dimen_pt" > 3pt </ dimen >
< dimen name ="dimen_dp" > 3dp </ dimen >
</ resources >
6、 Nine-patch(可以拉伸的小图片)
支持图片的拉伸
貌似就是所谓的png图片文件资源,图片在应用view的背景时,如果被设为background则会随view的大小变化做相应的拉伸和收缩,像ImageView这类设置src图片则不随view变化,按其自身大小显示部分或全部!
7、 菜单
菜单即可以从代码中实现也可以在资源文件中配置,这里就是要描述一下第二种 <? xml version="1.0" encoding="utf-8" ?> < menu xmlns:android ="http://schemas.android.com/apk/res/android" > < item android:id ="@+id/previous" android:title ="@string/previous" android:enabled ="false" android:icon ="@android:drawable/ic_media_previous" /> < item android:id ="@+id/play_pause" android:title ="@string/play" android:icon ="@android:drawable/ic_media_play" /> < item android:id ="@+id/next" android:title ="@string/next" android:icon ="@android:drawable/ic_menu_next" /></ menu > 8、 Layout布局
这个就是你经常看到的与用户交互的界面的xml文件,就是各个view的排列和嵌套,没什么好说的啦
9、 风格和主题、
风格主要是指view的显示风格 res/values/filename.xml
<? xml version=”1.0″ encoding=”utf-8″ ?>
< resources >
< style name =”SpecialText” parent =”@style/Text”>
<item name =”android:textSize”>18sp</item>
<item name =”android:textColor”>#008</item>
</style >
</ resources >
主题主要针对Activity等, 可以在Android Manifest中定义的 < application > 和 < activity > 元素将主题添加到整个程序或者某个 Activity,但是主题是不能应用在某一个单独的View里.风格可以自己定义也可以使用程序自带的或是继承已有的风格。
<? xml version="1.0" encoding="utf-8" ?> < resources >< style name ="CustomTheme" >< item name ="android:windowNoTitle" > true </ item >< item name ="windowFrame" > @drawable/screen_frame </ item >< item name ="windowBackground" > @drawable/screen_background_white </ item >< item name ="panelForegroundColor" > #FF000000 </ item >< item name ="panelBackgroundColor" > #FFFFFFFF </ item >< item name ="panelTextColor" > ?panelForegroundColor </ item >< item name ="panelTextSize" > 14 </ item >< item name ="menuItemTextColor" > ?panelTextColor </ item >< item name ="menuItemTextSize" > ?panelTextSize </ item ></ style ></ resources >
10、 动画
动画资源分为两种,一是实现图片的translate、scale、rotate、alpha四种变化。还可以设置动画的播放特性;另一种是帧动画,逐帧播放设置的资源
先说一下第一种
Res/anim/filename.xml < set xmlns:android ="http://schemas.android.com/apk/res/android" > < translate android:interpolator ="@android:anim/accelerate_interpolator" android:fromXDelta ="0" android:toXDelta ="200" android:fromYDelta ="0" android:toYDelta ="180" android:duration ="2000" /> < scale android:interpolator ="@android:anim/accelerate_interpolator" android:fromXScale ="1.0" android:toXScale ="2.0" android:fromYScale ="1.0" android:toYScale ="2.0" android:pivotX ="150%" android:pivotY ="150%" android:duration ="2000" /> < alpha android:fromAlpha ="1.0" android:toAlpha ="1.0" android:duration ="@android:integer/config_mediumAnimTime" /> < rotate ....各个属性 ></ rotate > < Interpolator > 可以使用其子类和属性定义动画的运行方式,先快后慢,先慢后快等 </ Interpolator ></ set > 具体参数的用法,大家可以自己查资料
下面是第二种资源
< animation-list xmlns:android =”http://schemas.android.com/apk/res/android”
android:oneshot =”true”>
<item android:drawable =”@drawable/rocket_thrust1″ android:duration =”200″ />
< item android:drawable =”@drawable/rocket_thrust2″ android:duration =”200″ />
< item android:drawable =”@drawable/rocket_thrust3″ android:duration =”200″ />
</ animation-list >
< script src ="/javascripts/tinymce/plugins/javaeye/langs/zh.js" type ="text/javascript" ></ script > rif;">1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件。
1、 颜色 #RGB #ARGB #RRGGBB #AARRGGBB
颜色资源应该位于 < resourses ></ resourses > 标签下
路径res/values/colors.xml 名字可以随意
定义 < color name =”cname”>value</color>
使用 Resourse.getValues.getColor
<?xml version ="1.0" encoding ="utf-8" ? >
< resources >
< color name ="white" > #FFFFFF </ color >
< color name ="black" > #000000 </ color >
</ resources >
2、 字串
字串资源应该位于 < resourses ></ resourses > 标签下
路径res/values/strings.xml
定义 < String name =”sname”>value</String>
使用 Resourse.getValues.getString
<?xml version ="1.0" encoding ="utf-8" ? >
< resources >
< string name ="hello" > Hello World, ResrouseTestActivity! </ string >
< string name ="app_name" > ResrouseTest </ string >
</ resources >
3、 图片
图片资源一般使用png格式,使用其他格式的会出现各种问题,貌似不支持gif格式的图片,可是使用Movie来播放gif格式的图片
路径res/drawable
可以直接存放图片也可以是xml等配置文件(一般用于自定义组件)
使用 getDrawable
4、 图片的颜色
位于res/values/my_drawable.xml名字随意
<? xml version="1.0" encoding="utf-8" ?>
< resources >
< drawable name ="solid_red" > #FF0000 </ drawable >
</ resources >
定义用于填充一个组件的颜色值,即给view设置背景色。用法和drawable下的图片一样,其实没多少意义,使用颜色定义就ok了,目前我是这样认为的,可能有更好的优点,不过我没发现罢了,嘿嘿,continue...
5、 单位资源
单位资源应该位于 < resourses ></ resourses > 标签下
路径res/values/dimen.xml 名字可以随意
使用和String、color类似
<? xml version="1.0" encoding="utf-8" ?>
< resources >
< dimen name ="dimen_name" > 2px </ dimen >
< dimen name ="dimen_px" > 5px </ dimen >
< dimen name ="dimen_pt" > 3pt </ dimen >
< dimen name ="dimen_dp" > 3dp </ dimen >
</ resources >
6、 Nine-patch(可以拉伸的小图片)
支持图片的拉伸
貌似就是所谓的png图片文件资源,图片在应用view的背景时,如果被设为background则会随view的大小变化做相应的拉伸和收缩,像ImageView这类设置src图片则不随view变化,按其自身大小显示部分或全部!
7、 菜单
菜单即可以从代码中实现也可以在资源文件中配置,这里就是要描述一下第二种 <? xml version="1.0" encoding="utf-8" ?> < menu xmlns:android ="http://schemas.android.com/apk/res/android" > < item android:id ="@+id/previous" android:title ="@string/previous" android:enabled ="false" android:icon ="@android:drawable/ic_media_previous" /> < item android:id ="@+id/play_pause" android:title ="@string/play" android:icon ="@android:drawable/ic_media_play" /> < item android:id ="@+id/next" android:title ="@string/next" android:icon ="@android:drawable/ic_menu_next" /></ menu > 8、 Layout布局
这个就是你经常看到的与用户交互的界面的xml文件,就是各个view的排列和嵌套,没什么好说的啦
9、 风格和主题、
风格主要是指view的显示风格 res/values/filename.xml
<? xml version=”1.0″ encoding=”utf-8″ ?>
< resources >
< style name =”SpecialText” parent =”@style/Text”>
<item name =”android:textSize”>18sp</item>
<item name =”android:textColor”>#008</item>
</style >
</ resources >
主题主要针对Activity等, 可以在Android Manifest中定义的 < application > 和 < activity > 元素将主题添加到整个程序或者某个 Activity,但是主题是不能应用在某一个单独的View里.风格可以自己定义也可以使用程序自带的或是继承已有的风格。
<? xml version="1.0" encoding="utf-8" ?> < resources >< style name ="CustomTheme" >< item name ="android:windowNoTitle" > true </ item >< item name ="windowFrame" > @drawable/screen_frame </ item >< item name ="windowBackground" > @drawable/screen_background_white </ item >< item name ="panelForegroundColor" > #FF000000 </ item >< item name ="panelBackgroundColor" > #FFFFFFFF </ item >< item name ="panelTextColor" > ?panelForegroundColor </ item >< item name ="panelTextSize" > 14 </ item >< item name ="menuItemTextColor" > ?panelTextColor </ item >< item name ="menuItemTextSize" > ?panelTextSize </ item ></ style ></ resources >
10、 动画
动画资源分为两种,一是实现图片的translate、scale、rotate、alpha四种变化。还可以设置动画的播放特性;另一种是帧动画,逐帧播放设置的资源
先说一下第一种
Res/anim/filename.xml < set xmlns:android ="http://schemas.android.com/apk/res/android" > < translate android:interpolator ="@android:anim/accelerate_interpolator" android:fromXDelta ="0" android:toXDelta ="200" android:fromYDelta ="0" android:toYDelta ="180" android:duration ="2000" /> < scale android:interpolator ="@android:anim/accelerate_interpolator" android:fromXScale ="1.0" android:toXScale ="2.0" android:fromYScale ="1.0" android:toYScale ="2.0" android:pivotX ="150%" android:pivotY ="150%" android:duration ="2000" /> < alpha android:fromAlpha ="1.0" android:toAlpha ="1.0" android:duration ="@android:integer/config_mediumAnimTime" /> < rotate ....各个属性 ></ rotate > < Interpolator > 可以使用其子类和属性定义动画的运行方式,先快后慢,先慢后快等 </ Interpolator ></ set > 具体参数的用法,大家可以自己查资料
下面是第二种资源
< animation-list xmlns:android =”http://schemas.android.com/apk/res/android”
android:oneshot =”true”>
<item android:drawable =”@drawable/rocket_thrust1″ android:duration =”200″ />
< item android:drawable =”@drawable/rocket_thrust2″ android:duration =”200″ />
< item android:drawable =”@drawable/rocket_thrust3″ android:duration =”200″ />
</ animation-list >
< script src ="/javascripts/tinymce/plugins/javaeye/langs/zh.js" type ="text/javascript" ></ script > rif;">1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件。