actionbar、slidingmenu、fragment的使用day03

1. FrameAnimation

10余年的康县网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整康县建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“康县网站设计”,“康县网站推广”以来,每个客户项目都认真落实执行。

    原理:多个关键帧按照顺序快速(100毫秒)切换

    三个要素:图片/顺序/时间

2. TweenAnimation

    原理:系统通过改变View的大小 位置 角度 透明度

    code和xml创建Animation

    xml:简单,不可动态改变

    code:灵活,可以动态改变

    缺点:只是视图上改变了控件,控件实际的位置不变 

3. PropertiesAnimation

    能够完全替代TweenAnimation,并且是真正的移动了控件的位置

    使用Nineold开源项目,支持1.0以后所有版本

    

   

4. 开源项目

    原理:一个项目,一个库(被调用的jar包),

    

5. ViewPager

    类似于ListView

二. 项目问题:

1. 欢迎页面跳转主页面

2. 欢迎页面主题

3. 机器人下落动画    

三. 项目技术点:

1. 判断当前版本号

if (Integer.parseInt(Build.VERSION.SDK) >=      

      Build.VERSION_CODES.HONEYCOMB) {

2. 如何在2.x版本实现Actionbar

    构成:back按钮,图标,标题,子标题,菜单

    好处:菜单可视化,增加了back按钮(取消back按键)

    使用开源项目支持在Android2.x版本中实现Actionbar

    开源项目:ActionbarSherlock

    只需导入两个:

    1) 库      : ActionBarSherlock-master/actionbarsherlock

    2) Demo:ActionBarSherlock-master\actionbarsherlock-samples\demos

    注意:项目和库必须导入,如果项目和库不在同一路径编译会出错

     actionbar、slidingmenu、fragment的使用 day03

3. 使用ABS库实现Actionbar的步骤

1) Activity修改为继承SherlockActivity

2) 将onCreateOptionsMenu方法参数的Menu类型改为sherlock

3) 将getMenuInflater()修改为getSupportMenuInflater()  

4) 获得Actionbar对象

    actionbar、slidingmenu、fragment的使用 day03

5) 设置Actionbar属性

    actionbar、slidingmenu、fragment的使用 day03

6) back按钮点击事件 

     actionbar、slidingmenu、fragment的使用 day03

7) 增加菜单项,注意设置顺序orderInCategory属性和

    shouAsAction属性

    actionbar、slidingmenu、fragment的使用 day03

8) 在2.x版本中会FC

you must Theme.Sherlock,Theme.Sherlock.Light

actionbar、slidingmenu、fragment的使用 day03

4. 侧滑菜单

    早期是由第三方App实现,Path FaceBook

    使用开源项目SlidingMenu-master

  

5. 导入SlidingMenuDemo注意事项

slidingmenu的库项目有错误,修改SlidingFragmentActivity

继承SherlockFragmentActivity

actionbar、slidingmenu、fragment的使用 day03

  

6. 使用SlidingMenu开源项目的步骤:

1) Activity继承SlidingFragmentActivity

        onCreate()方法修改为public

        onCreateOptionsMenu()参数改为sherlock

        getMenuInflater()修改为getSupportMenuInflater()

2) 清单中设置主题为:Theme.sherlock.Light.DarkActionbar

3) 设置侧滑菜单的布局

     actionbar、slidingmenu、fragment的使用 day03

4) 设置SlidingMenu属性(参照SlidingMenu的Demo  BaseActivity类)

     actionbar、slidingmenu、fragment的使用 day03

7.  Fragment的作用和用法

    应用场景: 当一个Activity的局部或整体需要频繁的被替换

    需要使用Fragment。

8. 创建Fragment的方法

1) 新建一个类,继承supportV4包的Fragment

2) 重写onCreateView()方法,并关联布局

    actionbar、slidingmenu、fragment的使用 day03

9. 在Activity中使用Fragment步骤:

1) 将Activity修改为继承FragmentActivity

2) 在布局中增加一个FrameLayout并设置id,

    用来确定Fragment加入到布局中的位置和大小

3) 在onCreate()方法的setContentView之后新增代码:

   actionbar、slidingmenu、fragment的使用 day03

10. 动态添加、删除和替换Fragment

1) 动态增加          

    actionbar、slidingmenu、fragment的使用 day03

2) 动态删除

    actionbar、slidingmenu、fragment的使用 day03

3) 动态替换

    actionbar、slidingmenu、fragment的使用 day03

常见问题:

1. 导入开源项目库是,控制台提示错误:

[2014-08-13 11:16:04 - EX10_使用ABS库实现Actionbar] Found 2 versions of android-support-v4.jar in the dependency list,

[2014-08-13 11:16:04 - EX10_使用ABS库实现Actionbar] but not all the versions are identical (check is based on SHA-1 only at this time).

[2014-08-13 11:16:04 - EX10_使用ABS库实现Actionbar] All versions of the libraries must be the same at this time.

[2014-08-13 11:16:04 - EX10_使用ABS库实现Actionbar] Versions found are:

[2014-08-13 11:16:04 - EX10_使用ABS库实现Actionbar] Path: F:\Users\longleg\workspaceHomeWork3\EX10_使用ABS库实现Actionbar\libs\android-support-v4.jar

[2014-08-13 11:16:04 - EX10_使用ABS库实现Actionbar] Length: 621451

[2014-08-13 11:16:04 - EX10_使用ABS库实现Actionbar] SHA-1: 5896b0a4e377ac4242eb2bc785220c1c4fc052f4

[2014-08-13 11:16:04 - EX10_使用ABS库实现Actionbar] Path: F:\Users\longleg\workspaceHomeWork3\lib_ABS\libs\android-support-v4.jar

[2014-08-13 11:16:04 - EX10_使用ABS库实现Actionbar] Length: 271754

[2014-08-13 11:16:04 - EX10_使用ABS库实现Actionbar] SHA-1: 53307dc2bd2b69fd5533458ee11885f55807de4b

[2014-08-13 11:16:04 - EX10_使用ABS库实现Actionbar] Jar mismatch! Fix your dependencies

问题原因:是由于android-supportV4包有多个版本,

不同版本之间的代码不同

解决方法:1) 使它们相同

                 2) 使库中的jar是最新版本,将项目中的supportV4删除

2. 代码中输入ActionBar actionBar = getActionBar();

    Multiple markers at this line

 - The value of the local variable actionBar is not used

 - Call requires API level 11 (current min is 8):  

  android.app.Activity#getActionBar

3. 项目导入库设置后再查看属性,仍然提示错误

actionbar、slidingmenu、fragment的使用 day03

    原因:

    1) 项目和库不在同一个目录下

    2) eclipse环境问题,重启eclipse即可

4. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ex_templete/com.example.ex_templete.MainActivity}: java.lang.IllegalStateException: Both setBehindContentView must be called in onCreate in addition to setContentView.


分享文章:actionbar、slidingmenu、fragment的使用day03
本文地址:http://azwzsj.com/article/pidjcp.html