1. Actionbar
功能:菜单可视化 back按钮 标题子标题
SherlockActionbar注意事项
导入库, 继承SherlockFragmentActivity 主题修改为Theme.Sherlock
onCreateOptionsMenu()编译出错,Menu类型错,
getSupportMenuInflater()
设置Actionbar属性
2. SlidingMenu开源项目
源码中有错误
修改SlidingFragmentActivity,继承改为SherlockFragmentActivity
库依赖ABS库
使用步骤:
1) 继承SlidingFragmentActivity
2) setBehindContentView
3) 设置其他属性,宽度,阴影,
3. Fragment的用法
作用:Activity的局部,可以动态替换
创建:新建一个类,继承Fragment(V4)
重写onCreateView(),关联一个布局
使用:Activity要继承FragmentActivity
在布局中新建一个FrameLayout,设置Fragment的大小和位置
代码中动态添加/删除/替换
fm = getSupportFragmentManager()
ft = fm.beginTransication()
MyFragment fragment = new MyFragment()
ft.add(R.id.container, fragment)
// ft.remove(fragment)
// ft.repalce(R.id.container, fragment2)
ft.commit()
二. 项目问题
1. 在res中定义StringArray,在成员变量中初始化,FC
系统资源初始化的时机
2. SlidingMenu菜单添加动画后,背景颜色
三. 项目技术点
1. 使用FragmentPagerAdapter实现ViewPager
2. 水平滚动组件HorizontalScrollView
注意:HorizontalScrollView只能有一个直接的子组件,
所有组件放到一个布局中。
四. 开发项目模块技巧
用文字写出每一步需要实现的功能点
每一步严格测试,保证每一步的代码是正确的
1. 实现水平滑动功能
用FragmentPagerAdapter实现ViewPager
2. 实现顶部的水平滚动组件
使用HorizontalScrollView
3. 单击水平滚动组件中的按钮,改变ViewPager的Item
4. 滑动ViewPager激活按钮的选中状态
在onPageSelected()方法中实现
5. 代码中改变Button的背景颜色和文字颜色
6. ViewPager滚动时,如果被选中按钮不在屏幕中间,
滚动水平滚动组件,使被选中按钮居中显示
找准时机:onPageSelected()方法中
7. 隐藏HorizontalScrollView的水平滚动条
常见问题:
1. at com.example.ex_templete.MainActivity.<init>(MainActivity.java:20)
<init>代表构造方法
空指针异常,看日志中的cause by,向下找自己的代码
空指针问题原因是调用了null对象的方法或属性
背景知识:对象的初始化顺序
1) 成员变量
2) 非静态块
3) 构造方法
OO 变量的作用域最小化
规则:所有成员变量的赋值都在onCreate()方法中
2. java.lang.IllegalStateException: commit already called
ft = fm.beginTransaction();
每次动态添加或替换Fragment时需要重新调用
附录
大公司做的App类型:
1. 社交
腾讯 QQ、微信、QQ空间、
微博、人人网、陌陌、比邻
2. 平台类
天猫 京东
当当、亚马逊、国美在线、苏宁易购
3. 地图
百度、高德
4. 安全类
360 腾讯 百度 乐安全 点心省电
5. 在线音乐、视频、阅读
工具类: 增加了社交
墨迹天气
美图秀秀
天天动听
将web端网页格式化适配移动端
云适配
http://www.yunshipei.com/
actionbar、slidingmenu、ViewPager的使用 day04