package com.team.zhuoke.view.common.activity; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.view.KeyEvent; import android.widget.Toast; import com.team.zhuoke.R; import com.team.zhuoke.base.BaseView; import com.team.zhuoke.ui.NavigateTabBar; import com.team.zhuoke.view.follow.fragment.FollowFragment; import com.team.zhuoke.view.home.fragment.HomeFragment; import com.team.zhuoke.view.live.fragment.LiveFragment; import com.team.zhuoke.view.user.fragment.UserFragment; import com.team.zhuoke.view.video.fragment.VideoFragment; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; import static com.team.zhuoke.R.id.mainTabBar; /** * 作者:gaoyin * 电话:18810474975 * 邮箱:18810474975@163.com * 版本号:1.0 * 类描述: * 备注消息: * 修改时间:2016/11/30 上午9:56 **/ public class MainActivity extends AppCompatActivity implements BaseView{ private static final String TAG_PAGE_HOME = "首页"; private static final String TAG_PAGE_LIVE= "直播"; private static final String TAG_PAGE_VIDEO = "视频"; private static final String TAG_PAGE_FOLLOW = "关注"; private static final String TAG_PAGE_USER = "我的"; protected Unbinder unbinder; // 退出时间 private long exitTime = 0; @BindView(mainTabBar) NavigateTabBar mNavigateTabBar; NavigateTabBar.ViewHolder mHolder; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); unbinder = ButterKnife.bind(this); mNavigateTabBar.onRestoreInstanceState(savedInstanceState); mNavigateTabBar.addTab(HomeFragment.class, new NavigateTabBar.TabParam(R.mipmap.home_pressed, R.mipmap .home_selected,TAG_PAGE_HOME)); mNavigateTabBar.addTab(LiveFragment.class, new NavigateTabBar.TabParam(R.mipmap.live_pressed, R.mipmap .live_selected, TAG_PAGE_LIVE)); mNavigateTabBar.addTab(VideoFragment.class, new NavigateTabBar.TabParam(R.mipmap.video, R .mipmap.video_selected, TAG_PAGE_VIDEO)); mNavigateTabBar.addTab(FollowFragment.class, new NavigateTabBar.TabParam(R.mipmap.follow_pressed, R.mipmap.follow_selected, TAG_PAGE_FOLLOW)); mNavigateTabBar.addTab(UserFragment.class, new NavigateTabBar.TabParam(R.mipmap.user_pressed, R.mipmap .user_selected, TAG_PAGE_USER)); mNavigateTabBar.setTabSelectListener(new NavigateTabBar.OnTabSelectedListener() { @Override public void onTabSelected(NavigateTabBar.ViewHolder holder) { // Toast.makeText(MainActivity.this, "信息为:"+holder.tag, Toast.LENGTH_SHORT).show(); switch (holder.tag.toString()) { // 首页 case TAG_PAGE_HOME: mNavigateTabBar.showFragment(holder); break; // 直播 case TAG_PAGE_LIVE: mNavigateTabBar.showFragment(holder); break; // 视频 case TAG_PAGE_VIDEO: mNavigateTabBar.showFragment(holder); break; // 关注 case TAG_PAGE_FOLLOW: mNavigateTabBar.showFragment(holder); break; // 我的 case TAG_PAGE_USER: if(mNavigateTabBar!=null) mNavigateTabBar.showFragment(holder); break; } } }); // // 获取所有权限 // PermissionUtil.requestAllPermission(new PermissionUtil.RequestPermission() { // @Override // public void onRequestPermissionSuccess() { // // } // // @Override // public void onRequestPermissionFailed() { // // } // }, new RxPermissions(MainActivity.this),this); } @Override protected void onRestart() { super.onRestart(); } /** * 拦截返回键,要求点击两次返回键才退出应用 * * @param keyCode 按键代码 * @param event 点击事件 * @return 是否处理本次事件 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); return false; } return super.onKeyDown(keyCode, event); } private void exit() { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { finish(); System.exit(0); } } @Override protected void onDestroy() { super.onDestroy(); if (unbinder != null) { unbinder.unbind(); } } /** * 保存数据状态 * * @param outState */ @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mNavigateTabBar.onSaveInstanceState(outState); } @Override public void showErrorWithStatus(String msg) { } }