2016-04-29 6 views
1

は、このような私たちは、ボタンや背景色を変更するコードをクリックすると、背景色を変更するかのようである:レイアウト定数をプログラムで変更した後、レイアウトの背景色をどのように設定するのですか?

relativeLayout.setBackgroundColor(Color.parseColor("#03a9f4")); 

それは青の背景を変更します。しかし、アクティビティの切り替えやアクティビティの終了後は、デフォルトの白に変わります。色を変えて色を一定にしたい。誰でも助けてくれますか?

答えて

1

あなたは、あなたの指定されたビューで使用される最後の色を取得することができます(のはviewそれを呼びましょう)とonPause()SharedPreferencesに保管してください:

int lastColor = ((PaintDrawable) view.getBackground()).getPaint().getColor(); 
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getActivity); 
pref.edit().putInt("last_color", lastColor).commit(); 

次にonResume()に色を復元:

SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getActivity); 
int lastColor = pref.getInt("last_color",0); 
view.setBackgroundColor(lastColor); 
0

Viewが作成されるたびに色を維持してください(例:SharedPreferences)。

関連する問題