android基础内容介绍(XXXDrawable、Android动画、Android资源使用、Fragment与Activity)

StateListDrawable用于组织多个Drawable对象。定义StateListDrawable对象的XML文件的跟元素为<selector…/>。该元素可指定如下属性.android:color或android:drawable、android:state_xxx

 

LayerDrawable 堆叠的图片,可定制拖动条外观

<layer-list >

 <item …/>

<item …/>

</layer-list >

 

ShapeDrawable 定义一个基本的几何图形,定义ShapeDrawable的XML文件的根元素为<shape…/>

 

ClipDrawable 代表从其他位图上截取的一个“图片片段”。 定义ClipDrawable的XML文件的根元素为<Clip…/>,应用:徐徐展开的风景图片

 

AnimationDrawable 代表一个动画

 

 

Android动画

1.      逐帧动画:类似于电影方式,一张图片、一张图片地切换

2.      补间动画:通过平移、变换计算出来

定义补间动画的XML资源文件以<set…/>元素作为根元素,其内可指定四个元素:alpha/scale/translate/rotate

定义动画的XML资源应该放在/res/animi路径下

3.      属性动画(PropertyAnimation)

 

Android应用有一些初始化的配置信息、应用相关的数据资源需要保存,一般用XML文件来保存,这种资源被称为原始XML资源,一般保存在/res/xml路径下。Java程序中获取实际的XML文档,可以通过Resources的如下两个方法来获取:

 XmlResourceParser getXml(int id)            InputStream openRawResource(int id)

 

样式(Style)资源:对某个类型的组件指定大致相似的格式(字体、颜色、背景色等),一个样式等于一组格式的集合。Android的样式资源也放在/res/values目录下

<resources>

  <style name=….   parent=…>

               <item…/>

  </style>

< /resources >

 

主题资源与样式资源非常相似,不同在于:主题不能用于单个的View组件,其针对整个应用中所有Activity起作用或对指定的起作用。主题定义的格式应该是改变窗口外观的格式(窗口标题、边框等)

 

 

使用原始资源:Android没有为之专门提供的支持(声音文件等),可放在两个地方

1.      位于/res/raw目录下,R清单类会生成索引项

2.      位于/assets/目录下,需要通过AssetManager来管理该目录下的文件,两个方法:InputSrteam open(String fileName)、AssetFileDescriptoropenFd(String fileName)

 

 

 

 

 

 

 

 

 

 

 

 

Activity之android:launchMode:

standard:标准模式,默认的.每次启动都实例化并放入Task栈,不启动新的Task

singleTop:Task顶单例模式,当将要被启动的目标Activity位于栈顶时系统不会重新创建目标Activity实例

singleTask:Task内单例模式。Activity在一个Task内只有一个实例,如果将要启动的Activity已经存在但没有位于Task栈顶,系统会移除其上的搜友Activity

singleInstance:全局单例模式。无论从哪个Task中启动目标Activity,只会创建一个目标Acti,并会使用一个全新的Task栈来装载该Activity实例

 

 

Intent封装Android应用程序需要启动某个组件(activity,service,broadcastreceiver)的"意图",它还是应用程序组件之间通信的重要媒介(通过bundle)

Intent属性:Component(欲启动的对应组件)、Action(抽象动作)、Category(Action的额外类别信息)、<intent-filter.../>配置组件(activity,service,broadcastreceiver)所能响应的Intent(对应于Action的值)

 

 

将Fragment添加到Activity中有如下两种方式

1:在布局文件中使用<fragment.../>元素添加Fragment,<fragment.../>元素的android:name属性指定Fragment的实现类

2:在java代码中通过FragmentTransaction对象的add()方法来添加Fragment.getFragmentManager().beginTransaction()方法可返回FragmentTransaction对象

 

Activity与Fragment通信

1:Fragment调用getActivity获得其所在的Activity

2:Activity通过findFragmentById()或findFragmentByTag(StringTag)获得与其关联的指定的Fragment

 

Activity与Fragment传递数据

1:Activity->Fragment:Fragment.setArguments(Bundlebundle)

2:>Fragment-Activity:在Fragment中定义一个内部回调接口,再让包含该Fragment的Activity实现该回调接口,这样Fragment即可调用该回调方法将数据传给Activity

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值