第三章 自定义控件详解
1.Activity结构 Activity->PhoneWindow->DecorWindow->TitleView、ContentView
2.MeasureSpec 和测量View有关 MeasureSpec有三种模式 (精确 最大值 unspecified)
3.View中的回调方法
onFinishIndlate() - 》 inflate 完成时候回调;
onSizeChanged()-》组件大小改变时候回调;
4.可以使用postInvalidateDelayed() 来控制重绘时间;
5.在ViewGroup中添加滑动事件可以使用scrollBy()辅助;
第四章 Listview使用技巧
1.可以使用listview.setEmptyView;
2.GestureDetector手势识别类 VelocityTracker滑动速度检测类;
第五章 scroll分析
1.移动View可以使用offsetLeftAndRight()和offsetTopAndBottom()进行移动;
2.scrollTo()表示移动到具体某一个位置,scrollBy()表示移动增量;
3.可以使用Scroller类实现平滑移动;
4.ViewDragHelper来辅助实现滑动;
第六章 Android绘图机制与处理技巧
1.可以在xml直接使用bitmap标签把图片转为Bitmap 2.可以在xml通过layer和layer-list标签实现层的效果 3.可以利用矩阵来修改图像 4.Shader 分为 BitmapShader、LinearGradient、RadialGradient、SweepGradient、ComposeShader 5.SurfaceView的使用场景:频繁的刷新、子线程进行页面刷新
第九章 系统信息与安全机制
- 获取系统信息从
android.os.Build
和SystemProperty
两个方面获取 -
ActivityManager.MemoryInfo内存信息
alailMem—可用内存
totalMem—总内存
threshold—低内存阈值
lowMemery—是否处于低内存
Debug.MemoryInfo 用于统计进程的内存
Android 5.x 新特性详解
- Palette 内置了几种提取色调的种类:
- Vibrant(充满活力的)
- Vibrant dark
- Vibrant light
- Muted(柔和的)
- Muted dark
- Muted light
-
在Android 5.x View的z值由 elevation和translationZ组成
-
使用Tint着色 Clipping剪裁
-
Activity过渡动画
- 进入
- 退出
进入和退出动画包括
- explode(分解)
- slide(滑动)
- fade(淡出)
- 共享元素
- changeBounds – 改变目标视图边界
- changeClipBounds – 剪裁目标视图边界
- changeTransform – 改变目标视图缩放比例和旋转角度
- changeImageTransform – 改变目标图片大小和缩放比例
从ActivityA跳转到ActivityB动画
startActivity(intent,ActivityOptions.makeSceneTransitionAnimation(this),toBundle())
在ActivityB中设置
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS)
或者在xml中设置<item name= “android.windowContentTransitions”>true</item>
接下来在ActivityB中设置动画效果
getWindow().setEnterTransition(new Explode())