视图卡在VideoView后面

时间:2013-02-24 20:17:12

标签: android relativelayout

我在尝试隐藏和显示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()但没有成功。

提前感谢您的帮助

1 个答案:

答案 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。