У меня есть диалог для ColorPicker
, который добавляется в build.gradle
.
Диалог это AmbilWarnaDialog
.
Я могу изменить цвет, но проблема возникает, когда яВыйдите из приложения и снова я открываю цвет colorPrimary
, который не получает цвет от SharedPreferences
.Я могу сохранить цвет в SharedPreferences
, но тогда он не получает цвет оттуда.
Ниже приведен мой код.
MainActivity.class
SharedPreferences sharedpreferences = getSharedPreferences(Change_Color, Context.MODE_PRIVATE);
int backcolorValue = sharedpreferences.getInt("back_color_code", 1);
if (backcolorValue != 1) {
Log.d("TAG", "onCreate: " + "e pera");
changeHeader.setBackgroundColor(backcolorValue);
getWindow().setStatusBarColor(backcolorValue);
} else {
changeHeader.setBackgroundColor(mDefaultColor);
}
public void openColorPicker() {
AmbilWarnaDialog colorPicker = new AmbilWarnaDialog(this, mDefaultColor, new AmbilWarnaDialog.OnAmbilWarnaListener() {
@Override
public void onCancel(AmbilWarnaDialog dialog) {
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public void onOk(AmbilWarnaDialog dialog, int color) {
changeHeader.setBackgroundColor(color);
getWindow().setStatusBarColor(color);
SharedPreferences sharedpreferences = getSharedPreferences(Change_Color, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putInt("back_color_code", color);
editor.apply();
Log.d("TAG", "onOk: " + color);
}
});
colorPicker.show();
}
activity_main.XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
style="@style/ActivityMain">
<RelativeLayout
android:id="@+id/relLayoutTitle"
style="@style/RelativeLayoutTitleSearch">
</RelativeLayout>
</RelativeLayout/
styles.xml
<style name="RelativeLayoutTitleSearch">
<item name="android:background">@color/blue_title</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">@dimen/title_height</item>
<item name="android:adjustViewBounds">true</item>
</style>
color
в Dialog
возвращает число, например, -112332