Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 视频控件默认位于设备底部_Android_Video_Controls - Fatal编程技术网

Android 视频控件默认位于设备底部

Android 视频控件默认位于设备底部,android,video,controls,Android,Video,Controls,我正在开发一个应用程序,我将视频均匀地叠放在图像的顶部。你可以在所附的照片中看到这一点。为什么视频播放器控件默认位于设备底部(如照片所示)?如果可能的话,我想把它们移到视频上方。我的屏幕布局是: <?xml version="1.0" encoding="UTF-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertica

我正在开发一个应用程序,我将视频均匀地叠放在图像的顶部。你可以在所附的照片中看到这一点。为什么视频播放器控件默认位于设备底部(如照片所示)?如果可能的话,我想把它们移到视频上方。我的屏幕布局是:

<?xml version="1.0" encoding="UTF-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/mobile_vforum_bg"
    >
    <VideoView 
        android:id="@+id/vidPlayer"
        android:layout_width="320dip"
        android:layout_height="240dip">
    </VideoView>
    <WebView 
        android:id="@+id/slideHolder"
        android:layout_width="320dip" 
        android:layout_height="240dip"
        android:layout_gravity="bottom">
     </WebView>
     <ListView 
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"
        android:id="@+id/slideList"
        android:background="#000000">
     </ListView>
</FrameLayout>


有人知道我是否可以将视频控件移动到视频上方吗?

这可能与您使用的是框架布局,而显示屏上没有足够的空间来显示所有内容有关。是否有理由需要使用精确的像素规格?如果可能的话,你应该尽量避免这些,因为在安卓系统中,你永远不知道你的应用程序将在多大的屏幕上运行。

你要做的是确保为控件设置一个锚定视图,并确保锚定视图不会占据整个屏幕。例如,下面是一个示例布局(不完整,但能理解要点):


关键是内部线性布局具有高度环绕内容,因此不会占用整个屏幕。这将最终显示视频正下方的控件。如果你想做一些更时髦的事情,比如将控件放在视频本身的顶部(然后出现/消失),那么我相信你必须创建自己的控件,并将它们与视频视图一起布局

320x240是我视频的大小。我的其他选择是什么?那是可以理解的。您是否尝试过使用其他布局?根据
VideoView
的文档。。。它“负责从视频中计算其测量值,以便可以在任何布局管理器中使用”。与在
dip
s中设置宽度/高度不同,您是否尝试过简单地使用
wrap\u content
?我尝试设置VideoView宽度/高度来包装内容,我得到了相同的行为。我敢说,这将是谷歌搜索的漫长一天
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
     >

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/preview_video_container_layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
        <VideoView 
            android:id="@+id/preview_video_view" 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
        />
    </LinearLayout>
</LinearLayout>
    mPreview = (VideoView) findViewById(R.id.preview_video_view);
    MediaController mediaController = new MediaController(this);
    mediaController.setAnchorView(mPreview);