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);