一. 知乎详情页面
1. 内嵌浏览器
背景:
App开发模式
|
|
优点
|
缺点
|
框架
|
Native
|
本地
|
适合交互 |
成本高 |
各个平台 |
Web
|
网页(HTML JS) |
跨平台
成本低
展示超文本
|
入口 UI 交互较弱 |
JQueryMobile
Ext
|
Hybrid
|
混合
|
超文本展示用网页 强交互用Native 成本和体验平衡
|
|
PhoneGap
Appcan
titanium
都是基于JS语言
|
2. 浏览器
核心功能:引擎
1) 解析HTML并显示图形
2) 解析js实现事件
真:IE、Safari、Chrome、FireFox、Opare、UCWeb
假:360、百度、QQ、搜狗、猎豹等
3. WebView控件
1) 加载指定网页,需要添加Internet权限
2) 设置默认开启支持JS,更多设置参考API
3) 防止跳出到其他浏览器
4) 获得浏览器加载网页的进度
5) 拦截网址
6) 后退
webView.goBack()
3. 水平滑动切换多个页面模块
使用开源项目:PagerSlidingTabStrip-master
实现步骤:
1) 导入库,在布局的ViewPager上添加控件
2) 在ViewPager设置适配器后调用
3) 重写FragmentPagerAdapter的方法
4. ViewPager嵌套ViewPager的问题
在2.3版本中,内部的ViewPager无法手动滑动
原因:ViewPager事件冲突
解决:内部的ViewPager控件使用ChildViewPager
5. UI框架结构
MainActivity
|
|——DrawerLayout
|
|——MainFragment
|
|——ViewPager + PagerSlidingTabStrip
|
|——HomeFragment
|
|——ListView + HeaderView
|
|——ViewPager
6. 向布局中动态添加子控件
常见问题:
1. AndroidStudio的项目导入到Eclipse中出错
Class requires API level 3 (current min is 1): android.widget.HorizontalScrollView
2. ViewPager嵌套ViewPager的问题
现象:Banner自动切换速度变快
原因:Fragment的onCreateView()方法被多次重复调用
解决:
3. 将同一个子View添加到两个布局中,FC
4. ViewPager嵌套ViewPager,Fragment管理器需要使用
ChildFragmentMananger
问题现象:内部的ViewPager图片有时不显示
5.
Unable to execute dex: Multiple dex files define Lcom/nostra13/universalimageloader/cache/disc/DiscCacheAware;
[2015-06-09 17:31:10 - 欢迎界面_01] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/nostra13/universalimageloader/cache/disc/DiscCacheAware;
原因:项目多次依赖了同一个库
解决:删除重复的依赖