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

Ala*_*ifa 1 java time android seekbar android-seekbar

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

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

ear*_*jim 7

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

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

单击音量按钮时,显示SeekBar并发布Runnable2-3 秒延迟:

seekBar.setVisibility(View.VISIBLE);
seekBar.postDelayed(hideSeekBarRunnable, 3000);
Run Code Online (Sandbox Code Playgroud)

如果 与SeekBar交互(其进度发生变化),则删除待处理Runnable并重新发布以重置计数器:

seekBar.removeCallbacks(hideSeekBarRunnable);
seekBar.postDelayed(hideSeekBarRunnable, 3000);
Run Code Online (Sandbox Code Playgroud)