每日推荐
作者说的这个福利,应该是技术福利~本来是给我投稿的一篇文章,不过偏向于介绍项目,就改为每日推荐啦~
本文作者 本文由陈序员投稿。 陈序员的博客地址: https://blog./ 这是接Android 快速开发(一),封装一个 TopBarBaseActivity之后,作者该系列的第二篇文章~ 前言上一篇我们详细介绍了 Android 快速开发(一),封装一个 TopBarBaseActivity 效果是显而易见的。接下来我们进行 Android 快速开发(二)。效果什么是快速开发嘞,看这个效果 然而实现 BottomTab + ViewPager 的效果我只用了这么几行代码: 添加 CenterView 也很简单,只需重写 getCenterView 方法并返回你想添加的 View。 为什么会这么简单呢,因为我把重复性的代码都封装在 父类 BottomTabBaseActivity 里面,这样的话,我们想实现 BottomTab + ViewPager 的效果只需实现三个方法,这样就可以大大提高我们的效率。爽YY~~~ 接下来我们一起实现这个 BottomTabBaseActivity。 BottomTabView首先我介绍一下我自定义一个 BottomTabView,用于实现 Tab 效果
它提供两个 setTabItemViews 方法,用于初始化 TabItem 的数据和 CenterView 还提供 setOnSecondSelectListener ,当 TabItemView 已经被选择并再次点击时,会出发此监听,用于实现某些 App 二次点击 TabItemView 刷新功能。 你可以直接粘贴项目中这两个文件即可
开始下面利用 BottomTabView 实现我们想要的 BottomTabBaseActivity搭建整体布局我们新建两个文件 BottomTabBaseActivity.java 和 activity_base_bottom_tab.xml,并把 BottomTabView.java 和 view_tab_item.xml 复制到我们的项目中 activity_base_bottom_tab.xml BottomTabBaseActivity 设置成抽象类,并添加三个方法 我们为什么写两个 abstract 类型的方法呢,我们的思路是这样的:
所以声明两个抽象方法 getTabViews、getFragments ,并在子类去实现,至于 getCenterView 方法可以自行定制,如果需要 CenterView 在子类实现方法即可。 MainActivity 继承自 BottomTabBaseActivity,只需实现两个方法,其他的什么也不需要做。 到这里,整体的布局已经搭建完毕,下面我们来实现功能. 实现底部 Tab在 BottomTabBaseActivity 中添加: 在 MainActivity 中实现 getTabView 方法 TabItemView 构造方法的参数含义 现在你可以运行一下你的 MainActivity,是不是已经实现了 底部 Tab 的效果。 连接 BottomTabView 和 ViewPager 我们继续。接下来我们将 BottomTabView 和 ViewPager 进行连接,并切换 ViewPager 的页面,以显示不同的 Fragment。 声明、初始化一个 Adapter,并设置到 ViewPager 里面 利用 setOnTabItemSelectListener 方法设置 BottomTabView 的监听器,来切换 ViewPager 用 ViewPager 的 addOnPageChangeListener 方法,使 ViewPager 切换的时候,也同步切换 BottomTabView 的选中位置。 最后一步:实现 getFragments 方法 返回一个 List 当然 TabFragment 需要你自己去实现。 现在你再运行一下你的 MainActivity,是不是已经实现了。 你想一想,以后每个 BottomTab + ViewPager 的界面,只需 让你的 XXActivity extends BottomTabBaseActivity,再实现两个方法就可以了,多爽啊! 添加 CenterView如果你想添加一个 CenterView 的话,你可以实现 getCenterView 或者这样写比较灵活: 如果你想让 CenterView 的上边界暴露在 BottomTabView 的外面的话,只需修改两处代码:
activity_base_bottom_tab.xml Prefect !~~GitHub 地址
|
|
来自: 个人文档awpyia > 《android ui》