Android 在安卓系统中,如何通过点击一个按钮来制作视频视图全屏?

Android 在安卓系统中,如何通过点击一个按钮来制作视频视图全屏?,android,android-fragments,android-videoview,Android,Android Fragments,Android Videoview,我在我的fragment类中有一个视频视图。还有一个按钮,允许您播放和暂停视频。当我点击按钮播放视频时,我想让视频全屏播放。如何以编程方式而不是通过XML来实现这一点 以下是我的片段的来源: public class Test extends Fragment { private VideoView vid; private Button playpause1; @Override public View onCreateView(LayoutInflat

我在我的fragment类中有一个视频视图。还有一个按钮,允许您播放和暂停视频。当我点击按钮播放视频时,我想让视频全屏播放。如何以编程方式而不是通过XML来实现这一点

以下是我的片段的来源:

public class Test extends Fragment
{
    private VideoView vid;
    private Button    playpause1;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)
    {
        root = (ViewGroup) inflater.inflate(R.layout.test, null);

        vid = (VideoView) root.findViewById(R.id.videoView1);
        vid.requestFocus();
        vid.setVideoURI(Uri.parse("my_path"));

        playpause1 = (Button) root.findViewById(R.id.playpause1);
        playpause1.setText(R.string.buffering);
        playpause1.setEnabled(false);

        playpause1.setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                if vid.isPlaying())
                {
                    vid.pause();
                }
                else
                {
                   vid.start();
                }
            }
        });


       vid.setOnPreparedListener(new OnPreparedListener()
        {
            @Override
            public void onPrepared(MediaPlayer mp)
            {
                playpause1.setEnabled(true);

                mp.setOnInfoListener (new MediaPlayer.OnInfoListener()
                {
                    @Override
                    public boolean onInfo (MediaPlayer mp, int what, int extra)
                    {
                        if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START)
                        {
                            playpause1.setEnabled(false);
                        }

                        if(what == MediaPlayer.MEDIA_INFO_BUFFERING_END)
                        {
                            playpause1.setEnabled(true);
                        }
                        return false;
                    }
                });
            }
        });
    }
}
  • 创建一个具有自己布局的新片段(其中包含完整大小的videoView)

  • 新片段应获得当前播放状态:

  • publicstaticfullvideofragment新实例(最终长时间播放)
    {
    最终FullVideoFragment=新的FullVideoFragment();
    最终捆绑=新捆绑();
    bundle.putLong(“playeduration”,playeduration);
    fragment.setArguments(bundle);
    返回片段;
    }

  • 在同一片段中获得播放时间
  • @覆盖
    已创建活动上的公共无效(最终捆绑包保存状态){
    super.onActivityCreated(savedInstanceState);
    this.playeduration=getArguments().getLong(“playeduration”);
    initializeViews();//获取视频URI。。。
    }

  • 在片段的clickListener中:使用片段管理器添加完整大小的视频片段并传递播放持续时间

  • 根据给定的播放时间查找新的全尺寸片段并播放视频