目录
CardView
-
CardView是什么
CardView是用于实现卡片式布局效果的重要控件,实际上也是一个fragmeLayout,只是额外提供了圆角和阴影,看上去有立体效果
-
CardView的常用常用API
方法 | 说明 |
cardBackgroundColor | 设置背景颜色 |
cardCornerRadius | 设置圆角边大小 |
cardElevation | 阴影大小 |
cardMaxElevation
|
最大的阴影大小
|
cardPreventCornerOverlap
|
在
v20
和之前的版本中添加内边距,这个属性是为了防止卡片内容 和边角的重叠
|
cardUseCompatPadding
|
设置内边距,
v21+
的版本和之前的版本仍旧具有一样的计算方式
|
contentPadding
| 内边距 |
contentPaddingBottom
| 底部边距 |
contentPaddingLeft
| 左侧边距 |
contentPaddingRight
| 右侧边距 |
contentPaddingTop
| 顶部边距 |
其中最长用的是:
cardBackgroundColor
cardCornerRadius
cardElevation
Fragment
-
Fragment的概念
1. Fragment 是依赖于 Activity 的,不能独立存在。2. 一个 Activity 里可以有多个 Fragment 。3. 一个 Fragment 可以被多个 Activity 重用。4. Fragment 有自己的生命周期,并能接收输入事件。5. 可以在 Activity 运行时动态地添加或删除 Fragment 。
-
Fragment的生命周期
常用的周期流程
1. Activity 加载 Fragment 的时候,依次调用: onAttach() -> onCreate() -> onCreateView() ->onActivityCreated() -> onStart() ->onResume()2. 当做出一个悬浮的对话框风格的 Activity ,或者其他,就是让 Fragment 所在的 Activity 可见 , 但不获得焦点: onPause()3. 当对话框关闭, Activity 又获得了焦点: onResume() 4. 当替换 Fragment ,并调用 addToBackStack() 将它添加到 Back 栈中: onPause() -> onStop() ->onDestoryView() 。注意,此时的 Fragment 还没有被销毁哦。5. 当按下键盘的回退键, Fragment 会再次显示出来: onCreateView() -> onActivityCreated() ->onStart() -> onResume()6. 如果替换后,在事务 commit 之前没有调用 addToBackStack() 方法将 Fragment 添加到 back 栈中,或者退出了 Activity 的话,那么 Fragment 将会被完全结束, Fragment 会进入销毁状态: onPause()-> onStop() -> onDestoryView() -> onDestory() -> onDetach()
-
静态加载
- 新建Fragment
- 在主活动布局中引用
-
动态加载
- 新建Fragment
- 在主活动中想要调用碎片的区域先用一个控件占位
- 在主活动的java代码中进行替换
//我这里使用帧布局进行占位的 IndexFragment indexFragment=new IndexFragment(); getSupportFragmentManager().beginTransaction().replace(R.id.fl_ly,indexFragment).commit();