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

このビデオビューをクリックすると、いくつかのアイコンを含むバーを表示しようとしています。バーのレイアウトは以下の とおりです。
編集: 追加された完全な 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>

オンタッチリスナー -

 @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;
}

ビデオが一時停止/再開されているのがわかります。これは、オンタッチ リスナーが実行されていることを意味します。ボトムバーが表示されない理由がわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

0

要件を達成するには、FrameLayout を使用する必要があります。invisible の代わりに gone を使用することをお勧めします。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 に答える