package com.grosner.sample; import android.content.res.Resources; import android.graphics.Color; import android.support.v4.view.MenuItemCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import com.grosner.painter.actionbar.ActionBarAlphaSlider; import com.grosner.painter.slider.ColorSlider; import com.grosner.painter.IconPainter; import com.grosner.painter.slider.SliderUtils; public class ActionBarTransformationActivity extends ActionBarActivity implements DrawerLayout.DrawerListener { private ColorSlider mColorSlider; private ActionBarAlphaSlider mAlphaSlider; private MenuItem mIcon1, mIcon2; private TextView mActionBarTitleView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_action_bar_transformation); mColorSlider = new ColorSlider(Color.BLUE, Color.BLACK).with(new IconPainter()); DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout); drawerLayout.setDrawerListener(this); mAlphaSlider = new ActionBarAlphaSlider(false, getSupportActionBar(), Color.GREEN); mAlphaSlider.onSlide(0); int actionBarTitleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android"); if (actionBarTitleId > 0) { mActionBarTitleView = (TextView) findViewById(actionBarTitleId); mActionBarTitleView.setTextColor(Color.BLACK); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. mIcon1 = menu.add(0, R.id.icon1, 0, "").setIcon(getResources().getDrawable(R.drawable.ic_action_sun)); MenuItemCompat.setShowAsAction(mIcon1, MenuItemCompat.SHOW_AS_ACTION_ALWAYS); mIcon2 = menu.add(0, R.id.icon2, 0, "").setIcon(getResources().getDrawable(R.drawable.ic_action_add)); MenuItemCompat.setShowAsAction(mIcon2, MenuItemCompat.SHOW_AS_ACTION_ALWAYS); mColorSlider.onSlide(0, mIcon1, mIcon2); return true; } @Override public void onDrawerSlide(View view, float v) { mColorSlider.onSlide(v, mIcon1, mIcon2); mAlphaSlider.onSlide(v); if(mActionBarTitleView!=null){ mActionBarTitleView.setTextColor(SliderUtils.calculateColor(v, Color.BLACK, Color.BLUE)); } } @Override public void onDrawerOpened(View view) { } @Override public void onDrawerClosed(View view) { } @Override public void onDrawerStateChanged(int i) { } }