首页 > 解决方案 > 根据焦点状态自定义搜索栏并显示搜索栏拇指

问题描述

我想自定义我的搜索栏,如下所示。并且还希望仅在搜索栏具有焦点时显示拇指,即当用户拖动搜索栏时。

在此处输入图像描述

在此处输入图像描述

标签: androidseekbarseekbar-thumb

解决方案


您可以将拇指隐藏onStopTrackingTouch()并使其在onStartTrackingTouch().

final SeekBar seekbar = findViewById(R.id.seekbar);
//Hide the seekbar's thumb.
seekbar.getThumb().setAlpha(0);
final Handler seekBarHandler = new Handler(Looper.getMainLooper());


seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    public void onProgressChanged(final SeekBar seekbar, final int progress, final boolean feomUser)
    {
         //Do something...
    }

    public void onStartTrackingTouch(final SeekBar seekbar)
    {
        seekBarHandler.removeCallbacksAndMessages(null);
        seekbar.getThumb().setAlpha(255);
    }

    public void onStopTrackingTouch(final SeekBar seekbar)
    {
        //Hide the thumb if not focus for a second.
        seekBarHandler.postDelayed(new Runnable() {
            public void run() {
                seekbar.getThumb().setAlpha(0);
            }
        }, 1000L); //Delay
    }
});

推荐阅读