I want the progressBar to return until I have VideoView.setOnPreparedListener but the ProgressBar is definitely not showing up. It only appears when VideoView visibility is gone. VideoView.setOnPreparedListener doesn't work in this case either.
I looked at the previously asked questions but it didn't meet my needs. Is there a mistake in my layout design?
Layout:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<VideoView
android:id="@+id/video_loader"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:gravity="center" />
<ProgressBar
android:id="@+id/progress"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:indeterminateTint="@color/colorAccent"
android:elevation="10dp"
android:gravity="center"
android:indeterminate="true"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/icon_video_play"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:gravity="center"
app:srcCompat="@drawable/ic_baseline_play_circle_filled_24" />
<com.android.android.video.view.VideoTimelineView
android:id="@+id/videoTimeLine"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="40dp"
android:layout_marginStart="20dp"
android:layout_marginTop="50dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="10dp" />
<TextView
android:id="@+id/videoInfoView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="26dp"
android:layout_marginLeft="26dp"
android:layout_marginTop="110dp"
android:background="@drawable/grey_rect"
android:padding="7dp"
android:textColor="@color/white"
android:textSize="@dimen/kod"
android:visibility="gone"
tools:text="0:42 | 7.2 mb"
tools:visibility="visible" />
<SeekBar
android:id="@+id/handlerTop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="1000"
android:paddingTop="9dp"
android:progressDrawable="@android:color/transparent"
android:secondaryProgress="0"
android:splitTrack="false"
tools:progress="1000"
tools:thumb="@drawable/vertical_line" />
</FrameLayout>
Code:
ProgressBar progressBar = findViewById(R.id.progress);
progressBar.setVisibility(View.VISIBLE);
ImageView playView = findViewById(R.id.icon_video_play);
playView.setVisibility(View.GONE);
VideoView mVideoView = findViewById(R.id.videoView);
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
progressBar.setVisibility(View.GONE);
playView.setVisibility(View.VISIBLE);
}
});