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/