我正在开发一款 android 中的自定义视频播放器。我正在使用 VideoView 播放视频。最初,我的 VideoView 将具有一定的大小(可以说 size = (width , height) = (400, 300))。我的自定义视频视图的控制按钮之一是“展开/折叠”。单击“展开/折叠”按钮后,如果当前 VideoView 大小为内联,我想将 VideoView 大小设置为全屏(表示设备的全屏大小),反之亦然(从全屏到内联)。
有人知道完成上述任务的正确方法吗?
我正在开发一款 android 中的自定义视频播放器。我正在使用 VideoView 播放视频。最初,我的 VideoView 将具有一定的大小(可以说 size = (width , height) = (400, 300))。我的自定义视频视图的控制按钮之一是“展开/折叠”。单击“展开/折叠”按钮后,如果当前 VideoView 大小为内联,我想将 VideoView 大小设置为全屏(表示设备的全屏大小),反之亦然(从全屏到内联)。
有人知道完成上述任务的正确方法吗?
首先,你有勇气问一个 Android 问题并有一个 iOS 标志;)(开玩笑)
但是,我认为你可以使用这个:
DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics);
android.widget.LinearLayout.LayoutParams params = (android.widget.LinearLayout.LayoutParams) videoView.getLayoutParams();
params.width = metrics.widthPixels;
params.height = metrics.heightPixels;
params.leftMargin = 0;
videoView.setLayoutParams(params);
并将其重新设置:
DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics);
android.widget.LinearLayout.LayoutParams params = (android.widget.LinearLayout.LayoutParams) videoView.getLayoutParams();
params.width = (int) (400*metrics.density);
params.height = (int) (300*metrics.density);
params.leftMargin = 30;
videoView.setLayoutParams(params);
我假设您知道如何制作OnClickListener
.
我在这里得到了信息:Android应用程序中的VideoView全屏
Edit1
我可以很快想到两件事。
1. 添加这个:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
2. 或者试试这个:
YourButton.setVisibility(View.GONE);
或者
YourButton.setVisibility(View.INVISIBLE);