3

我正在开发一款 android 中的自定义视频播放器。我正在使用 VideoView 播放视频。最初,我的 VideoView 将具有一定的大小(可以说 size = (width , height) = (400, 300))。我的自定义视频视图的控制按钮之一是“展开/折叠”。单击“展开/折叠”按钮后,如果当前 VideoView 大小为内联,我想将 VideoView 大小设置为全屏(表示设备的全屏大小),反之亦然(从全屏到内联)。

有人知道完成上述任务的正确方法吗?

4

1 回答 1

10

首先,你有勇气问一个 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);
于 2013-01-16T08:39:41.100 回答