我在尝试隐藏和显示VideoView顶部的按钮时遇到问题。为简单起见,我有一个看起来像这样的xml文件,真正的文件只有很多按钮。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<VideoView
android:id="@+id/videoEnter"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:scaleType="fitXY" />
<Button
android:id="@+id/play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play" />
</RelativeLayout>
基本上,当我播放视频时,我将按钮设置为View.INVISIBLE
,当视频在onCompletion
结束时,我将按钮设置为View.Visible
。问题是该按钮是可点击的,但它位于VideoView后面并且不可见。我已经能够在FrameLayout中完成这项工作但是我需要拉伸视频以适应我只能在RelativeLayout中工作的屏幕。反正是否在RelativeLayout中使所有这些工作?
我也试过.bringToFront()
但没有成功。
提前感谢您的帮助
答案 0 :(得分:0)
我认为这是因为您使用了fill_parent用于VideoView。您还使用了以下所有内容:
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
因此,活动正在拉伸整个屏幕。做这样的事情: 使用线性布局并为视图指定权重。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<VideoView
android:layout_weight="0.9"
android:id="@+id/videoEnter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<Button
android:layout_weight="0.1"
android:id="@+id/play"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Play" />
</LinearLayout>
我试过这个,它显示了底部的按钮和屏幕其余部分的VideoView。