前言
底部导航栏是一个通用组件。
为了让开发者可以快捷、高效地开发底部导航组件及其驱动的页面,我对相关代码进行了封装。
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;