Как изменить фон кнопки с помощью SharedPreferenced? - PullRequest
0 голосов
/ 02 октября 2018

Я делаю приложение в Android Studio.Я использовал SharedPreferenced для изменения статуса кнопки (Включить), и это работает, но я также хочу изменить фон кнопки (entrycity -> имя этой кнопки), используя мой SharedPreferenced.Как это сделать?

Это мой код

public class Activity2 extends AppCompatActivity implements View.OnClickListener{
 Button button3;
 Button entrycity;

private static final String NAME = "name";
private boolean isEnabled;
private SharedPreferences sharedPreferences;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.activity_2);

    button3 = (Button) findViewById(R.id.button3);
    button3.setOnClickListener(this);

    entrycity = (Button) findViewById(R.id.entrycity);
    entrycity.setOnClickListener(this);

    sharedPreferences = getSharedPreferences(NAME, MODE_PRIVATE);
    isEnabled = sharedPreferences.getBoolean(winflagi.IS_ENABLED, false);
    entrycity.setEnabled(isEnabled);
}


@Override
public void onClick(final View v) {
   final MediaPlayer mp = MediaPlayer.create(this, R.raw.menunew);
    if (v == button3) {

        startActivity(new Intent(Activity2.this, flagi1.class));
        Bungee.zoom(this);
        mp.start();


    }

    if (v.getId() == R.id.entrycity){

        startActivity(new Intent(this, cities1.class));
        Bungee.zoom(this);
        mp.start();
        }




    }



}

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

, если вы хотите создать собственный фон для рисования:

if(isEnable){
    btnAccountStatus.setBackground(ContextCompat.getDrawable(this, R.drawable.YourDrawableEnable));
} else {
    btnAccountStatus.setBackground(ContextCompat.getDrawable(this, R.drawable.YourDrawableDisable));
}

, если вы хотите создать собственный цвет фона:

if(isEnable){
    btnAccountStatus.setBackgroundColor(ContextCompat.getDrawable(this, R.color.YourColorEnable));
} else {
    btnAccountStatus.setBackgroundColor(ContextCompat.getDrawable(this, R.color.YourColorDisable));
}
0 голосов
/ 02 октября 2018

Вы можете сохранить идентификатор ресурса фона в вашей sharedPreference как integer.А затем установите его на кнопку, используя

entrycity.setBackgroundResource(sharedPreferences.getInt("myBgId",R.drawable.default_id));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...