1.添加CircularReveal动画特效
这里的动画需要使用ViewAnimationUtils库来实现,但是该库是Android 5.0以后才引入的,所以无法满足低版本。使用开源库CircularReveal,主要是提供了波浪式的展开和回缩动画,利用这个库提供的动画再进行自定义就很容易实现动画的效果了。下面是为底部菜单中的图片添加的动画效果的参考代码。
其中,createCircularReveal参数的解释如下:
(1)view:需要执行动画的对象,此处为底部菜单的图片。
(2)centerX:动画中心点的X坐标。
(3)centerY:动画中心点的Y坐标。
(4)startRadius:动画开始时的圆半径。
(5)endRadius:动画结束时的圆半径。
最后设置动画时长和延迟,就可以执行动画了。
2.创建Fragment
(1)Fragment的用途。Fragment是Android 3.0后引入的一个新的API,它出现的初衷是适应大屏幕的平板电脑,当然现在它仍然是平板App UI设计的宠儿,而且普通手机开发也会加入Fragment,可以把它看成一个小型的Activity,又称Activity片段。如果界面很大,只有一个布局,编写界面会很烦琐,而且如果组件很多,管理也会很烦琐。而使用Fragment可以把屏幕划分成几块,然后进行分组,进行模块化的管理,从而可以更加方便地在运行过程中动态地更新Activity的用户界面。另外,Fragment并不能单独使用,它需要嵌套在Activity 中使用,尽管它拥有自己的生命周期,但是会受到宿主Activity的生命周期的影响,比如Activity 被destroy销毁了,它也会随之销毁。图2-4-2给出了一个Fragment分别对应手机与平板之间不同情况的处理图。
图2-4-2 平板与手机中Fragment使用图
(2)Fragment的创建。在android.app包中和androidx.fragment.app包中都有Fragment,Android Studio中建议使用后者,前者在程序中显示已经过时。
1)静态加载Fragment。
STEP 1:定义Fragment的布局,就是Fragment显示的内容。
STEP 2:自定义一个Fragment类,在项目Java文件夹上单击鼠标右键,选择新建Fragment。新建的Fragment需要继承Fragment或者它的子类,重写onCreateView()方法在该方法中,调用inflater.inflate()方法加载Fragment的布局文件(R.layout.fragment1),接着返回加载的view对象。参考代码如下:
(www.xing528.com)
STEP 3:在需要加载Fragment的Activity对应的布局文件中添加Fragment的标签。首先必须要有id属性,然后添加name属性,属性值是包名+类名,代码如下所示:
STEP 4:Activity在onCreate()方法中调用setContentView()加载布局文件即可。
2)动态加载Fragment。本例中就是使用动态加载方式实现,大概需要以下4个步骤,实现流程如图2-4-3所示,参考代码如下:
图2-4-3 动态加载Fragment流程
STEP 1:创建FragmentManager对象。
STEP 2:创建FragmentTransaction事务对象。
STEP 3:使用replace方法实现页面的替换。
STEP 4:提交。
【课后任务】
根据本节课的内容,读者可以完成学习强国App主页面的设计与实现(图2-4-4)。
图2-4-4 学习强国App底部菜单
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。