Android应用资源

本文详细阐述了Android应用中的资源存储方式,包括原生态资源和应用资源的区别,重点介绍了StateListDrawable、layerDrawable、shapeDrawable和clipDrawable等关键资源类型,并提供了实际应用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值