0

我正在尝试使用代码播放视频——下面的代码工作正常

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

现在点击这个videoview我试图显示一个包含一些图标的栏。栏的布局如下 -
编辑:添加的完整 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;
}

我可以看到视频暂停/恢复。这意味着 on touch 监听器正在被执行。不知道为什么底部栏不可见。任何帮助将不胜感激。

4

1 回答 1

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>
于 2013-02-11T09:38:30.077 回答