【问题标题】:VideoView inline/fullscreen mode switchingVideoView 内联/全屏模式切换
【发布时间】:2013-01-16 08:31:37
【问题描述】:

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

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

【问题讨论】:

    标签: android media-player android-videoview


    【解决方案1】:

    首先,你有勇气问一个 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

    我在这里得到了信息:VideoView Full screen in android application

    编辑1
    我能很快想到两件事。
    1.添加:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    2. 或者试试这个:

    YourButton.setVisibility(View.GONE);
    

    YourButton.setVisibility(View.INVISIBLE);
    

    【讨论】:

    • 我完成了这个答案,但这里的问题是,如果我的布局有任何一个额外的控件,比如带有 VideoView 的按钮或 textview,那么 VideoView 不会占据设备的全屏。它为这些控件保留空间并在屏幕的剩余部分显示 VideoView。但我需要全屏显示视频,而不管额外的控制。 (如果在线性布局中有一个带有 VideoView 的 textview,那么在单击全屏按钮时,VideoView 应该采取全屏控制并应该隐藏 textview)
    • 是的 Bigflow :) 基本上我是 iOS 应用程序开发人员,但现在正在探索 android sdk。我希望你能从上面的评论中得到我的确切问题。在这个问题上的任何帮助都是非常可观的:)
    • @macpandit 进行了编辑。希望这有效。老实说,从未使用过 VideoView :)。但试图提供帮助。
    • 它在我的示例应用程序中就像一个魅力。实际上隐藏按钮控件是有效的。非常感谢您提供的非常可观的帮助:)
    • @Bigflow 我遵循了您的代码,但问题是......我在 videoview 顶部有 videoview 和一些视图,在 videoview 布局下面有类似的 viewpager .... 不是我在风景中隐藏 viewpager 并设置 videoview到完整的父级,但我的包含 seekbar 的布局仍然出现在 videoview 的顶部,但不在 videoview 的父级底部,而在纵向上它工作正常
    猜你喜欢
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    相关资源
    最近更新 更多