java - Java 如何显示然后隐藏 (GONE) 视图-Android
问题描述
我正在 Android Studio 中开发一个应用程序(因为我不是 Java 专业人士,只是学习......)我不确定我的代码是否无法正常工作——这对我来说似乎不是。任何人都可以伸出援助之手吗?
我有一个音乐文件,当它播放时我不会显示进度条 - 然后用可见性隐藏它(GONE)。一切正常,除了我不能让可见性改变 if (!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 任何帮助将不胜感激!先感谢您!
解决方案
else if (!mediaPlayer.isPlaying()){
Pbar.setVisibility(View.GONE);
}
上面的代码将在媒体播放器开始播放后立即执行。此条件为假,因此视图的可见性不受影响。
如果您不想在 10 秒后切换可见性,请使用 Handler 进行如下操作:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Pbar.setVisibility(View.GONE);
}
},10000);
推荐阅读
- ios - 如何在谷歌地图上包含所有标记但也始终以其中一个坐标为中心
- r - 渲染为 PDF 时,在 bookdown 中格式化逐字代码块背景颜色
- python - 如何在 Django Rest 中使用 Post 请求更新其他表的字段
- listview - 通过拖放功能重新排序 Xamarin 表单中的 ListView
- python - 位置破折号引导导航栏
- google-maps - Flutter Google Maps 应用程序在浏览器中引发异常和崩溃,但在 Android 上却没有
- javascript - Javascript,Jquery 3 - 先运行获取请求
- ios - 按字母顺序排序 NSFetchedResultsController 项目,但优先考虑 Swift 和 Coredata 中的特定项目
- selenium - 选择器仅在检查/选择元素(硒)后工作
- text-to-speech - Google Assistant 的其他 WaveNet 语音