温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

actionbar、slidingmenu、fragment的使用 day03

发布时间:2020-08-05 19:21:25 来源:网络 阅读:815 作者:无心小书童 栏目:移动开发

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

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

     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.



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI