【发布时间】:2016-07-13 03:15:16
【问题描述】:
我正在尝试弄清楚如何在浮动操作按钮被禁用 2 秒后更改其背景颜色。我还希望它在 2 秒的持续时间结束后恢复到原来的颜色。
这是按下时 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 方法,但没有遇到任何可行的方法。
这是 FAB 颜色主题的 XML
<?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>
【问题讨论】:
标签: android