如何通过单击 Android 中的按钮使 VideoView 全屏显示?
Posted
技术标签:
【中文标题】如何通过单击 Android 中的按钮使 VideoView 全屏显示?【英文标题】:How to make a VideoView full screen by clicking a button in Android? 【发布时间】:2015-05-28 19:43:40 【问题描述】:我的片段类中有一个 VideoView。还有一个按钮可让您播放和暂停视频。当我单击按钮播放视频时,我希望视频全屏显示。我怎样才能以编程方式而不是通过 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;
);
);
【问题讨论】:
【参考方案1】:使用自己的布局创建一个新的 Fragment(其中包含全尺寸的 videoView)。
新的 Fragment 应该得到当前的播放状态:
public static FullVideoFragment newInstance(final long playedDuration)
final FullVideoFragment fragment = new FullVideoFragment();
final Bundle bundle = new Bundle();
bundle.putLong("playedDuration", playedDuration);
fragment.setArguments(bundle);
return fragment;
-
在同一个片段中获取playedDuration
@Override
public void onActivityCreated(final Bundle savedInstanceState)
super.onActivityCreated(savedInstanceState);
this.playDuration = getArguments().getLong("playedDuration");
initializeViews(); //get video URI...
在片段的 clickListener 中:使用 FragmentManager 添加完整尺寸的视频片段并传递播放时长。
在新的全尺寸片段中寻找给定的playedDuration并播放视频。
【讨论】:
以上是关于如何通过单击 Android 中的按钮使 VideoView 全屏显示?的主要内容,如果未能解决你的问题,请参考以下文章
通过单击android studio中的按钮将我的当前位置发送给所有用户