package yifeiyuan.practice.practicedemos.base; import android.content.Context; import android.support.design.widget.CollapsingToolbarLayout; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.MenuItem; import butterknife.ButterKnife; import butterknife.InjectView; import butterknife.Optional; import yifeiyuan.practice.practicedemos.R; /** * 有toolbar的 统一继承这个activity * * 统一: * 设置toolbar * 设置title * 处理左上返回按钮事件 */ public class ToolbarActivity extends AppCompatActivity { protected final String TAG = this.getClass().getSimpleName(); protected Context mContext; @Optional @InjectView(R.id.collapsing_toolbar) CollapsingToolbarLayout mCollapsingToolbar; @Optional @InjectView(R.id.toolbar) Toolbar mToolbar; @Override public void setContentView(int layoutResID) { super.setContentView(layoutResID); mContext = this; ButterKnife.inject(this); setupToolbar(); } protected void setupToolbar() { if (null != mToolbar) { setSupportActionBar(mToolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } } //统一设置 title @Override protected void onTitleChanged(CharSequence title, int color) { Log.d(TAG, "onTitleChanged() called with " + "title = [" + title + "], color = [" + color + "]"); super.onTitleChanged(title, color); //Notice 如果有collapsingtoolbar 就不能在toolbar设置(无效果) if (null != mCollapsingToolbar) { mCollapsingToolbar.setTitle(title); } else if (null != mToolbar) { mToolbar.setTitle(title); } } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { finish(); return true; } return super.onOptionsItemSelected(item); } }