package it.feio.android.omninotes; import android.app.Fragment; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.Toolbar; import android.view.ViewGroup; import butterknife.Bind; import butterknife.ButterKnife; import de.keyboardsurfer.android.widget.crouton.Crouton; import de.keyboardsurfer.android.widget.crouton.Style; import java.util.ArrayList; import java.util.List; public class SettingsActivity extends ActionBarActivity { @Bind(R.id.toolbar) Toolbar toolbar; @Bind(R.id.crouton_handle) ViewGroup croutonViewContainer; private List<Fragment> backStack = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings); ButterKnife.bind(this); initUI(); getFragmentManager().beginTransaction().replace(R.id.content_frame, new SettingsFragment()).commit(); } void initUI() { setSupportActionBar(toolbar); toolbar.setNavigationOnClickListener(v -> onBackPressed()); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); } void switchToScreen(String key) { SettingsFragment sf = new SettingsFragment(); Bundle b = new Bundle(); b.putString(SettingsFragment.XML_NAME, key); sf.setArguments(b); backStack.add(getFragmentManager().findFragmentById(R.id.content_frame)); replaceFragment(sf); } private void replaceFragment(Fragment sf) { getFragmentManager().beginTransaction().setCustomAnimations(R.animator.fade_in, R.animator.fade_out, R.animator.fade_in, R.animator.fade_out).replace(R.id.content_frame, sf).commit(); } @Override public void onBackPressed() { if (backStack.size() > 0) { replaceFragment(backStack.remove(backStack.size() - 1)); } else { super.onBackPressed(); } } public void showMessage(int messageId, Style style) { showMessage(getString(messageId), style); } public void showMessage(String message, Style style) { // ViewGroup used to show Crouton keeping compatibility with the new Toolbar Crouton.makeText(this, message, style, croutonViewContainer).show(); } }