Android 视频视图内联/全屏模式切换

Android 视频视图内联/全屏模式切换,android,media-player,android-videoview,Android,Media Player,Android Videoview,我正在用android开发一款定制视频播放器。我正在使用VideoView播放视频。最初,我的视频视图会有一定的大小(比如大小=(宽度,高度=(400300))。我的自定义视频视图的一个控制按钮是“展开/折叠”。单击“展开/折叠”按钮后,如果当前VideoView大小为内联,我想将VideoView大小设置为全屏(表示设备的全屏大小),反之亦然(也从全屏设置为内联) 有人知道完成上述任务的正确方法吗?首先,你有勇气问一个安卓问题,并且有一个iOS徽标;)(开玩笑) 但是,我想你可以用这个:

我正在用android开发一款定制视频播放器。我正在使用VideoView播放视频。最初,我的视频视图会有一定的大小(比如大小=(宽度,高度=(400300))。我的自定义视频视图的一个控制按钮是“展开/折叠”。单击“展开/折叠”按钮后,如果当前VideoView大小为内联,我想将VideoView大小设置为全屏(表示设备的全屏大小),反之亦然(也从全屏设置为内联)


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

首先,你有勇气问一个安卓问题,并且有一个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

我在这里得到了信息:

Edit1
我能很快想到两件事。
1.添加以下内容:
getWindow().setFlags(WindowManager.LayoutParams.FLAG\u全屏,WindowManager.LayoutParams.FLAG\u全屏)
2.或者试试这个:

YourButton.setVisibility(View.GONE);


我看了这个答案,但这里的问题是,如果我的布局有任何一个额外的控件,比如按钮或带有VideoView的textview,那么VideoView并没有占据设备的全屏。它为这些控件保留空间,并在屏幕的其余部分显示视频视图。但我需要全屏显示视频,而不考虑额外的控件。(如果有一个线性布局的textview和VideoView,那么当点击全屏按钮时,VideoView应该控制全屏并隐藏textview)是的,Bigflow:)基本上我是iOS应用程序开发者,但现在正在探索android sdk。我希望你能从上面的评论中得到我的确切问题。任何关于这个问题的帮助都是值得赞赏的:)@macpandit进行了编辑。希望这能奏效。老实说,从未使用过VideoView:)。但我想帮你。在我的示例应用程序中,它就像一个符咒。实际上隐藏按钮控件是有效的。。非常感谢您的帮助:)@Bigflow我遵循了您的代码,但问题是。。。我在videoview上面有videoview和其他一些视图,在videoview布局下面有类似的viewpager。。。。不是我在landcape中隐藏了viewpager,并将videoview设置为完整的父视图,但我的布局包含seekbar,它位于videoview的顶部,但不在videoview的父视图底部,而在纵向视图中,它工作正常
YourButton.setVisibility(View.INVISIBLE);