package com.stkj.support.actionbar; import android.annotation.SuppressLint; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBar.LayoutParams; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; /** * @author jarrah no shadow style -> ActionBarNoShadow */ public class ActionBarActivity extends android.support.v7.app.ActionBarActivity { private static final boolean ACTIONBAR_NO_ICON = true; private static final int ACTIONBAR_ICON_RES = R.drawable.ic_home; private static final int ACTIONBAR_VIEW_RES = R.layout.view_action_bar; private static final int ACTIONBAR_ICON = ACTIONBAR_NO_ICON ? R.drawable.ic_trans : ACTIONBAR_ICON_RES; private static final int ACTIONBAR_BG = R.drawable.bg_top_bar; private static final boolean IS_TITLE_AS_UP = true; //默认开启点击标题 finish(); protected View mActionBarView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mActionBarView = getActionBarView(); setupActionBar(mActionBarView); } @SuppressLint("InflateParams") protected View getActionBarView() { return LayoutInflater.from(this).inflate(ACTIONBAR_VIEW_RES, null); } @SuppressLint("InflateParams") protected void setupActionBar(View actionBarView) { ActionBar actionBar = getSupportActionBar(); actionBar.setIcon(ACTIONBAR_ICON); LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); actionBar.setCustomView(actionBarView, lp); actionBar.setDisplayShowCustomEnabled(true); Drawable d = getResources().getDrawable(ACTIONBAR_BG); actionBar.setBackgroundDrawable(d); setBarTitle(getTitle()); enableTitleDisplayHomeAsUp(IS_TITLE_AS_UP); } public void enableTitleDisplayHomeAsUp(boolean isEnable) { if (isEnable && mActionBarView != null) { mActionBarView.findViewById(R.id.barTitle).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { onTitleClick(v); } }); }else{ mActionBarView.findViewById(R.id.barTitle).setOnClickListener(null); } } protected void onTitleClick(View v) { finish(); } @Override public void setTitle(CharSequence title) { setBarTitle(title); } public void setBarTitle(CharSequence title) { TextView barTitle = (TextView) mActionBarView.findViewById(R.id.barTitle); barTitle.setText(title); } // 设置原始actionbar 的title 颜色 // public void setTitleColor(int color) { // int actionBarTitleId = Resources.getSystem().getIdentifier( // "action_bar_title", "id", "android"); // if (actionBarTitleId > 0) { // TextView title = (TextView) findViewById(actionBarTitleId); // if (title != null) { // title.setTextColor(getResources().getColor(color)); // } // } // } }