我正在尝试使用代码播放视频 - 以下代码工作正常
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;
}
我可以看到视频暂停/恢复。这意味着触摸侦听器正在执行。 不确定为什么底栏不可见。任何帮助将受到高度赞赏。
答案 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>