package com.smartalk.gank.ui.base; import android.os.Bundle; import android.support.design.widget.AppBarLayout; import android.support.v7.app.ActionBar; import android.support.v7.widget.Toolbar; import android.view.animation.DecelerateInterpolator; import com.smartalk.gank.R; import com.smartalk.gank.presenter.BasePresenter; import butterknife.Bind; /** * 带Toolbar的基础Activity * Created by panl on 16/1/5. */ public abstract class ToolBarActivity<T extends BasePresenter> extends BaseActivity { protected ActionBar actionBar; protected T presenter; protected boolean isToolBarHiding = false; @Bind(R.id.toolbar) protected Toolbar toolbar; @Bind(R.id.app_bar) protected AppBarLayout appBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initToolBar(); } protected boolean canBack() { return true; } protected void initToolBar() { setSupportActionBar(toolbar); actionBar = getSupportActionBar(); if (actionBar != null) actionBar.setDisplayHomeAsUpEnabled(canBack()); } protected void hideOrShowToolBar() { appBar.animate() .translationY(isToolBarHiding ? 0 : -appBar.getHeight()) .setInterpolator(new DecelerateInterpolator(2)) .start(); isToolBarHiding = !isToolBarHiding; } }