我想将android button
颜色从黑色更改为红色。一旦用户点击按钮,我希望按钮变为红色。然后,当用户退出应用程序并再次打开它时,按钮将保持红色并且该按钮不会被禁用。
答案 0 :(得分:0)
您可以使用 SharedPreferences
检查以下示例
public class MainActivity extends AppCompatActivity {
SharedPreferences preferences;
SharedPreferences.Editor editor;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.buttonPanel);
preferences = getSharedPreferences("Nilesh", MODE_PRIVATE);
editor = preferences.edit();
if (preferences.getString("color", "blcack").equals("red")) {
button.setBackgroundColor(Color.parseColor("#F44336"));
} else {
button.setBackgroundColor(Color.parseColor("1D1D27"));
}
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editor.putString("color", "red");
editor.commit();
button.setBackgroundColor(Color.parseColor("#F44336"));
}
});
}
}
在 res->values->color.xml
文件
<color name="red">#8B0000</color>
<color name="black">#1D1D27</color>
答案 1 :(得分:0)
根据activity
生命周期,根据您的要求使用此代码
就像你说需要它为我的论文我正在制作健身和健康应用程序。当我点击按钮时,它将改变背景颜色,以便用户知道他完成了一天
在 XML 中,请执行以下操作: -
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:background="#000" />
并在您的 Java 文件中执行以下操作: -
public class MainActivity extends AppCompatActivity {
Button button;
int color = Color.parseColor("#fc2828");
int myIntValue;
SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button);
sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("your_int_key", color);
editor.commit();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
myIntValue = sp.getInt("your_int_key", 0);
button.setBackgroundColor(myIntValue);
}
});
}
@Override
protected void onPause() {
sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
myIntValue = sp.getInt("your_int_key", 0);
button.setBackgroundColor(myIntValue);
super.onPause();
}
}
在生命周期中复制并粘贴此代码(如onResume
,onRestart
)方法: -
sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
myIntValue = sp.getInt("your_int_key", 0);
button.setBackgroundColor(myIntValue);