如何在给定的不活动时间后隐藏视图

How to hide View after a given time of inactivity

基本上我有一个音量按钮,点击时显示隐藏的 SeekBar,如何让 SeekBar 在 2 或 3 秒不活动后再次隐藏?

我只想知道如何在不改变其进度的情况下检查自 SeekBar 可见以来花费了多少时间!?

您可以创建一个 Runnable,将 SeekBar 的可见性设置为不可见:

private final Runnable hideSeekBarRunnable = new Runnable() {
    @Override
    public void run() {
        seekBar.setVisibility(View.INVISIBLE);
    }
};

单击音量按钮时,延迟 2-3 秒显示 SeekBar 和 post Runnable

seekBar.setVisibility(View.VISIBLE);
seekBar.postDelayed(hideSeekBarRunnable, 3000);

并且如果 SeekBar 与之交互(其进度发生变化),请删除未决的 Runnable 并重新 post 它以重置计数器:

seekBar.removeCallbacks(hideSeekBarRunnable);
seekBar.postDelayed(hideSeekBarRunnable, 3000);