Подтвердить что ты не робот

Как использовать Seekbar в android как seekBar, а также progressBar одновременно?

Я намерен написать настраиваемый медиа-контроллер для своего приложения. Я планировал использовать seekbar для поиска и отображения прогресса. Попытка реализовать это.

Кто-нибудь имеет такую ​​реализацию или я ошибаюсь?

4b9b3361

Ответ 1

Наконец, я понял это!

Решение, которое я придумал, было примерно таким:

Прежде всего установите максимальный прогресс для поисковой строки в качестве продолжительности видео

videoView.setOnPreparedListener(new OnPreparedListener() {

        @Override
        public void onPrepared(MediaPlayer mp) {

            seekBar.setMax(videoView.getDuration());
            seekBar.postDelayed(onEverySecond, 1000);
        }
    });

Этот runnable будет продолжать обновлять панель прогресса:

private Runnable onEverySecond=new Runnable() {

    @Override
    public void run() {

        if(seekBar != null) {
            seekBar.setProgress(videoView.getCurrentPosition());
        }

        if(videoView.isPlaying()) {
            seekBar.postDelayed(onEverySecond, 1000);
        }

    }
};

И затем setOnSeekBarChangeListener для панели поиска можно использовать для поиска пользователя на носителе. Используя логический fromUser, мы можем выяснить, был ли он обратным вызовом из-за взаимодействия с пользователем или

seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
        }

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress,
                boolean fromUser) {

            if(fromUser) {
                // this is when actually seekbar has been seeked to a new position
                videoView.seekTo(progress);
            }
        }
    });

Ответ 2

Вы установите второй шаг.

Нет, ты на правильном пути. Это очень хорошо для отображения материала, такого как загрузка и текущее местоположение для потоков (носителей).