pcj*_*pcj 14 android android-videoview android-recyclerview
我有一个使用Recycler View of android的卡片列表.我正在显示一些文字及其下方的视频视图.
该列表滚动顺利,播放视频流畅,直到我使用setMediaControll()启用控件.
当我向上/向下滚动列表时启用此视频媒体控件后,即使视频视图随列表视图滚动移动一起自由移动,控件也会保持在相同位置.
这些控件应与列表视图一起移动,并保持静止.可能是什么导致了这个?这是预期的平台行为吗?
更新代码:
布局:
<FrameLayout
android:layout_centerHorizontal="true"
android:layout_centerInParent="true"
android:layout_gravity="center_horizontal"
android:id="@+id/frame_layout_video_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<VideoView
android:id="@+id/video_view"
android:layout_width="360sp"
android:layout_height="225sp"
android:layout_gravity="center" />
<ImageView
android:id="@+id/image_button_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:contentDescription="play_pause_button"
app:srcCompat="@drawable/ic_play_circle_filled_white_24px" />
<ProgressBar
android:id="@+id/progressbar_video"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="gone" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
在视图持有人:
MyViewHolder(View itemLayoutView) {
super(itemLayoutView);
..........
myVideoView = itemLayoutView.findViewById(R.id.video_view);
..........
}
Run Code Online (Sandbox Code Playgroud)
开始视频播放的代码:
..........
Uri uri = Uri.parse(url);
holder.myVideoView.setVideoURI(uri);
MediaController fsm = new MediaController(mContext,finalistFragment , url, holder.myVideoView);
fsm.setAnchorView(holder.myVideoView);
holder.myVideoView.setMediaController(fsm);
..........
Run Code Online (Sandbox Code Playgroud)
对于列表,我正在使用RecyclerView
.
ListView
这确实是和的已知行为,RecyclerView
因为这些东西只加载用户可见的视图,并且由于用户无法到达滚动控件,因此它们会冻结或可能停留在同一位置
我对你的建议是覆盖setOnScrollListener
你的RecyclerView
,但VideoView
具体来说我不知道具体如何。
我希望这有帮助
归档时间: |
|
查看次数: |
1135 次 |
最近记录: |