package com.berlin.livedemo; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.os.Handler; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.FrameLayout; import android.widget.ImageView; import io.vov.vitamio.widget.VideoView; /** * Created by AnHuiNews on 2017/5/8. */ public class ListVideoAdapter extends RecyclerView.Adapter<ListVideoAdapter.MyHolder>{ private Context context; private String url = "http://v.cctv.com/flash/mp4video6/TMS/2011/01/05/cf752b1c12ce452b3040cab2f90bc265_h264818000nero_aac32-1.mp4"; public ListVideoAdapter(Context context) { this.context = context; } @Override public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new MyHolder(LayoutInflater.from(context).inflate(R.layout.item_listvideo_layout,parent,false)); } @Override public void onBindViewHolder(final MyHolder holder, int position) { holder.videoView.setVideoPath(url); holder.play_img.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { holder.videoView.start(); holder.back_img.setVisibility(View.GONE); } }); holder.switch_img.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { holder.fullScreen(); ((ListVideoActivity)context).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } else { holder.normalScreen(); ((ListVideoActivity)context).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } } }); } @Override public int getItemCount() { return 20; } public class MyHolder extends RecyclerView.ViewHolder{ VideoView videoView; ImageView back_img; ImageView play_img; FrameLayout frameLayout; ImageView switch_img; public MyHolder(View itemView) { super(itemView); videoView = (VideoView) itemView.findViewById(R.id.item_videolist_videoview); back_img = (ImageView) itemView.findViewById(R.id.item_listvideo_img); play_img = (ImageView) itemView.findViewById(R.id.item_listvideo_play); frameLayout = (FrameLayout) itemView.findViewById(R.id.item_listvideo_framelayout); switch_img = (ImageView) itemView.findViewById(R.id.item_listvideo_switch); normalScreen(); } public void fullScreen(){ WindowManager.LayoutParams lp = ((ListVideoActivity)context).getWindow().getAttributes(); lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; ((ListVideoActivity)context).getWindow().setAttributes(lp); ((ListVideoActivity)context).getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); videoView.setVideoLayout(VideoView.VIDEO_LAYOUT_FIT_PARENT, 0); ViewGroup.LayoutParams params = frameLayout.getLayoutParams(); params.height = ((ListVideoActivity) context).getWindowManager().getDefaultDisplay().getWidth(); params.width = ((ListVideoActivity) context).getWindowManager().getDefaultDisplay().getHeight(); frameLayout.setLayoutParams(params); } public void normalScreen() { WindowManager.LayoutParams attr = ((ListVideoActivity)context).getWindow().getAttributes(); attr.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); ((ListVideoActivity)context).getWindow().setAttributes(attr); ((ListVideoActivity)context).getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); videoView.setVideoLayout(VideoView.VIDEO_LAYOUT_FIT_PARENT, 0); ViewGroup.LayoutParams params = frameLayout.getLayoutParams(); params.width = ((ListVideoActivity) context).getWindowManager().getDefaultDisplay().getWidth(); params.height = params.width/4*3; frameLayout.setLayoutParams(params); } } }
2017年5月7日星期日
videoview in list
订阅:
博文 (Atom)