底部导航BottomBar设计与实现

本文介绍了底部导航栏组件的封装,包括BottomItemDelegate作为页面实例的父类,BottomTabBean用于存储导航元素信息,ItemBuilder构建导航数据结构,以及BaseBottomDelegate作为所有导航实例的基类。
摘要由CSDN通过智能技术生成

前言

底部导航栏是一个通用组件。
在这里插入图片描述
为了让开发者可以快捷、高效地开发底部导航组件及其驱动的页面,我对相关代码进行了封装。

1. public abstract class BottomItemDelegate

抽象类BottomItemDelegate是所有由底部导航栏驱动的页面实例的父类。

package com.qilu.core.delegates.bottom;
import android.widget.Toast;
import com.qilu.core.R;
import com.qilu.core.app.Qilu;
import com.qilu.core.delegates.QiluDelegate;

public abstract class BottomItemDelegate extends QiluDelegate {
    // 再点一次退出程序时间设置
    private static final long WAIT_TIME = 2000L;
    private long TOUCH_TIME = 0;

    @Override
    public boolean onBackPressedSupport() {
        if (System.currentTimeMillis() - TOUCH_TIME < WAIT_TIME) {
            _mActivity.finish();
        } else {
            TOUCH_TIME = System.currentTimeMillis();
            Toast.makeText(_mActivity, "再按一次退出" + Qilu.getApplicationContext().getString(R.string.app_name), Toast.LENGTH_SHORT).show();
        }
        return true;
    }
}

3. public final class BottomTabBean

类BottomTabBean存储有关底部导航栏元素的相关信息。

package com.qilu.core.delegates.bottom;

public final class BottomTabBean {
    private final CharSequence ICON;
    private final CharSequence TITLE;

    public BottomTabBean(CharSequence icon, CharSequence title) {
        this.ICON = icon;
        this.TITLE = title;
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值