@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
VideoView videoView = holder.itemView.findViewById(R.id.videoView);
final ViewTreeObserver observer = videoView.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
videoView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
int width = videoView.getWidth();
int height = (int) ((float)width * 9 / 16); //根据16:9的比例计算高度
videoView.setLayoutParams(new LinearLayout.LayoutParams(width, height));
}
});
}
这样就可以让VideoView保持宽度撑满RecyclerView,并且保持原本视频的16:9比例了。
上一篇:Android-Unity作为库时出现“本地库未加载-放弃消息”的问题。
下一篇:Android-Volley-Multipart-Request 可以翻译为“安卓-Volley-多部分请求”。