码迷,mamicode.com
首页 > 其他好文 > 详细

actionbar、slidingmenu、fragment的使用 day03

时间:2014-08-15 02:55:27      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:机器人   透明度   版本号   图片   主题   

1. FrameAnimation

    原理:多个关键帧按照顺序快速(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

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

     bubuko.com,布布扣


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

1) Activity修改为继承SherlockActivity

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

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

4) 获得Actionbar对象

    bubuko.com,布布扣

5) 设置Actionbar属性

    bubuko.com,布布扣

6) back按钮点击事件 

     bubuko.com,布布扣

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

    shouAsAction属性

    bubuko.com,布布扣

8) 在2.x版本中会FC

you must Theme.Sherlock,Theme.Sherlock.Light

bubuko.com,布布扣


4. 侧滑菜单

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

    使用开源项目SlidingMenu-master

  

5. 导入SlidingMenuDemo注意事项

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

继承SherlockFragmentActivity

bubuko.com,布布扣

  

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

1) Activity继承SlidingFragmentActivity

        onCreate()方法修改为public

        onCreateOptionsMenu()参数改为sherlock

        getMenuInflater()修改为getSupportMenuInflater()

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

3) 设置侧滑菜单的布局

     bubuko.com,布布扣

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

     bubuko.com,布布扣


7.  Fragment的作用和用法

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

    需要使用Fragment。


8. 创建Fragment的方法

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

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

    bubuko.com,布布扣


9. 在Activity中使用Fragment步骤:

1) 将Activity修改为继承FragmentActivity

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

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

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

    bubuko.com,布布扣


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

1) 动态增加          

    bubuko.com,布布扣

2) 动态删除

    bubuko.com,布布扣

3) 动态替换

    bubuko.com,布布扣


常见问题:

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. 项目导入库设置后再查看属性,仍然提示错误

bubuko.com,布布扣

    原因:

    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,布布扣,bubuko.com

actionbar、slidingmenu、fragment的使用 day03

标签:机器人   透明度   版本号   图片   主题   

原文地址:http://8988940.blog.51cto.com/8978940/1540133

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!