Я пытаюсь выяснить, как изменить цвет фона кнопки плавающего действия, когда он отключен в течение 2 секунд после нажатия. Я также хотел бы, чтобы он вернулся к первоначальному цвету, когда закончилась 2-секундная продолжительность.Изменение цвета фона FAB при отключении
Это код для 2-секундной задержки при нажатии. Этот код находится в фрагменте в MainActivity.
appBar.setExpanded(true, true);
fab.setVisibility(View.VISIBLE);
fab.setImageResource(R.drawable.ic_phone_white_18dp);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fab.setClickable(false);
Timer buttonTimer = new Timer();
buttonTimer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
fab.setClickable(true);
}
});
}
}, 2000);
Я пытался играть вокруг с StateListDrawable
методов в документации, но не встречал ничего, что работает.
Это XML для цветовых темах FAB
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/themeColorPressed" android:state_pressed="true"/>
<item android:color="@color/themeColorPressed" android:state_checked="true"/>
<item android:color="@color/themeColorPressed" android:state_selected="true"/>
<item android:color="@color/themeColorPressed" android:state_enabled="false"/>
<item android:color="@color/themeColor" android:state_enabled="true"/>
</selector>
в основной деятельности? где? –
Всякий раз, когда вы решите изменить, включили ли его или отключили, измените цвет там. Так что, будь то внутри кода Fab (fab должен быть объявлен окончательным в этом случае) или внутри вашего onCreate вашего основного действия или другого метода, поместите его там. – TheAnonymous010