Android - 在视频视图之上切换RelativeLayout

时间:2013-02-11 09:17:40

标签: android visibility android-videoview

我正在尝试使用代码播放视频 - 以下代码工作正常

 private VideoView mVideoView;

    mVideoView = (VideoView) findViewById(R.id.vvCarView360);
    mVideoView.setVideoPath(path);
    mVideoView.requestFocus();
    mVideoView.setOnTouchListener(this);
    mVideoView.start();


rlBottomBar = (RelativeLayout) findViewById(R.id.rlView360BottomBar);

现在点击此视频视图,我正在尝试显示包含一些图标的栏。栏的布局如下 -
编辑:添加完整的XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<VideoView
    android:id="@+id/vvCarView360"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:focusable="true"
    android:focusableInTouchMode="true" />

<RelativeLayout
    android:id="@+id/rlView360BottomBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:visibility="invisible" >

    <ImageView
        android:id="@+id/ivView360Backbtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:focusable="true"
        android:focusableInTouchMode="true" />

    <ImageView
        android:id="@+id/ivView360Playbtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:focusable="true"
        android:focusableInTouchMode="true" />

    <ImageView
        android:id="@+id/ivView360Homebtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="10dp"
        android:focusable="true"
        android:focusableInTouchMode="true" />
</RelativeLayout>

ontouch听众 -

 @Override
public boolean onTouch(View v, MotionEvent event) {

    if (event.getAction() == MotionEvent.ACTION_UP) {

        switch (v.getId()) {

        case R.id.vvCarView360:
            if (mVideoView.isPlaying()) {

                mVideoView.pause();
            } else {

                mVideoView.start();
            }

            break;
        }
    }
    rlBottomBar.setVisibility(View.VISIBLE); **// This line not getting executed.**
    return true;
}

我可以看到视频暂停/恢复。这意味着触摸侦听器正在执行。 不确定为什么底栏不可见。任何帮助将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

您必须使用FrameLayout来满足您的要求。你用得更好而不是看不见。更改您的xml代码如下。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<VideoView
    android:id="@+id/vvCarView360"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:focusable="true"
    android:focusableInTouchMode="true" />

<RelativeLayout
    android:id="@+id/rlView360BottomBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:visibility="gone" >

    <ImageView
        android:id="@+id/ivView360Backbtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:focusable="true"
        android:focusableInTouchMode="true" />

    <ImageView
        android:id="@+id/ivView360Playbtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:focusable="true"
        android:focusableInTouchMode="true" />

    <ImageView
        android:id="@+id/ivView360Homebtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="10dp"
        android:focusable="true"
        android:focusableInTouchMode="true" />
</RelativeLayout>
</FrameLayout>