Java如何显示然后隐藏(GONE)View-Android

时间:2018-06-07 02:21:33

标签: java android visibility

我正在Android Studio中开发一个APP(因为我不是Java专业人员......我不确定我的代码是否正常工作 - 看起来它不适合我。任何人都可以伸出援手吗?

我有一个音乐文件,当它播放时我不会显示进度条 - 然后用可见性(GONE)隐藏它。一切都很好,除了我不能做的事情。如果(!mediaPlayer.isPlaying)......

,可以改变可见性

基本上在播放10秒音频后,进度条需要将视图更改回去。

   final ProgressBar Pbar;
   Pbar = (ProgressBar) findViewById(R.id.progressBar);

   final MediaPlayer mediaPlayer = MediaPlayer.create(this, 
   R.raw.soundttt);
    Button playsound = (Button) this.findViewById(R.id.play_sound_ten);
    playsound.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
            mediaPlayer.start();
            if (mediaPlayer.isPlaying()) {
                Pbar.setVisibility(View.VISIBLE);
            }
            else if (!mediaPlayer.isPlaying()){
                Pbar.setVisibility(View.GONE);
            }
        }

    });

我已经尝试了三天,已经完成了相当多的阅读,包括MediaPlayer上的众多帖子。

StackOverFlow 1 任何帮助,将不胜感激!提前谢谢!

1 个答案:

答案 0 :(得分:0)

else if (!mediaPlayer.isPlaying()){
    Pbar.setVisibility(View.GONE);
}

上述代码将在媒体播放器开始播放后立即执行。这种情况将是错误的,因此视图的可见性不会受到影响。

如果您不想在10秒后切换可见性,请使用Handler进行如下操作:

 new Handler().postDelayed(new Runnable() {
     @Override
     public void run() {
         Pbar.setVisibility(View.GONE);
     }
 },10000);