1.布局管理
安卓的四种布局模式:
线性布局
表格布局
相对布局
单帧布局
坐标布局
目前安卓建议不要用坐标布局,容易因屏幕尺寸或者其他问题产生问题。这几种布局我没有展开说,是因为就是拖拽就可以实现,目前没看到什么好展开讲得东西。
2.常用控件及其事件处理
目前只学到一招,为button等控件增加click的监听。首先我们的activity类需要实现OnClickListener接口。并实现接口的onClick方法。并为button加上相应的setOnClickListener(this)方法。
3.图形和动画
自定义图形,要新建activity 继承自View ,并实现View的onDraw(Canvas canvas)方法。具体的绘图是用canvas实现的。最后我们可以将实现的View直接拖到相应的布局中。那么在自定义视图中如何实现自定义事件呢?(这里先留一个伏笔,后面我们遇到会解决这个问题)
绘制已经存在的图片,我们用bitmap方法实现。先新建一个bitmap,然后用canvas.drawBitmap()系列的方法实现。、
安卓主要有两种类型的动画,一种是渐变动画(图像变换),一种是帧动画(顺序播放动画帧),渐变动画有4中类型,alpha透明度,scale尺寸伸缩,translate位置变化,rotate旋转。使用渐变动画的时候,按如下步骤:
1、在res/drawable-mdpi文件夹下放一个图片img
2、res目录下建立一个anim文件夹
3、新建一个myanim.xml文件
4、编写渐变效果。这个要看各个动画的规范。
xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0.1" android:toAlpha="1.0" android:duration="8000" /> <scale android:interpolator= "@android:anim/accelerate_decelerate_interpolator" android:fromXScale="0.0" android:toXScale="1.4" android:fromYScale="0.0" android:toYScale="1.4" android:pivotX="50%" android:pivotY="50%" android:fillAfter="false" android:duration="10000" /> <translate android:fromXDelta="30" android:toXDelta="0" android:fromYDelta="30" android:toYDelta="50" android:duration="10000" /> <rotate android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromDegrees="0" android:toDegrees="+350" android:pivotX="50%" android:pivotY="50%" android:duration="10000" /> set>
5、在布局中加入ImageView,
6、修改java文件,加载一个动画 myAnimation = AnimationUtils.loadAnimation(this,R.anim.myAnimation);加载容器ImageView = ? ;开始动画myAnimation.startAnimation(myAnimation);
4.多媒体开发
音频:音频有两种,SoundPool适合短促的时间要求较高,MediaPlayer适合长但是时间要求不高。soundPool是异步调用的,初始化和播放是两个线程。而mediaplayer同步的。两种initSound的方法不同。mediaPlayer = MediaPlayer.create(this,R.raw.sound);
soundPool = new SoundPool(4,AudioManager.STREAM_MUSIC,100));
soundPoolMap = new HashMap
soundPoolMap.put(1,soundPool.load(this,R.raw.sound,1));
播放的方法也不同,对于mediaPlayer,我们先判断isPlaying的状态,然后调用mediaPlayer.start();播放即可。而对于soundPool,我们需要调用soundPool.play(soundPoolMap.get(sound),volume,volume,1,loop,1f));的方法进行播放。
视频:这个地方视频一直加不进去视频(用的surfaceView)具体的开发,在今后如果遇到需要重新学习。
照相功能:就是利用camera的功能。这里也先跳过这部分的学习。
ok,第二章学习到此结束。