package org.qii.weiciyuan.ui.preference; import org.qii.weiciyuan.R; import org.qii.weiciyuan.ui.interfaces.AbstractAppActivity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.view.MenuItem; /** * User: qii * Date: 12-10-4 */ public class AppearanceActivity extends AbstractAppActivity implements SharedPreferences.OnSharedPreferenceChangeListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActionBar().setDisplayShowHomeEnabled(false); getActionBar().setDisplayShowTitleEnabled(true); getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setTitle(getString(R.string.pref_appearance_title)); if (savedInstanceState == null) { getFragmentManager().beginTransaction() .replace(android.R.id.content, new AppearanceFragment()) .commit(); } PreferenceManager.getDefaultSharedPreferences(this) .registerOnSharedPreferenceChangeListener(this); } @Override public boolean onOptionsItemSelected(MenuItem item) { Intent intent; switch (item.getItemId()) { case android.R.id.home: intent = new Intent(this, SettingActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); return true; } return false; } @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (key.equals(SettingActivity.THEME)) { Intent intent = new Intent(this, AppearanceActivity.class); finish(); overridePendingTransition(0, 0); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); overridePendingTransition(R.anim.stay, R.anim.alphaout); } } @Override public void onBackPressed() { super.onBackPressed(); PreferenceManager.getDefaultSharedPreferences(this) .unregisterOnSharedPreferenceChangeListener(this); finish(); } }