我想在viewpager中播放不同片段的视频.我为每个片段使用多个媒体播放器和表面视图.当我向左或向右滑动时,我想暂停并启动视频.滑动到下一个视频完全没有问题但是当我滑动到上一个视频(已经在播放)时,表面视图重叠.同时,我可以毫无问题地播放和暂停视频.
我尝试了几乎所有可能的setZorderMedia和setZOrderonTop的组合但是我失败了.
简而言之,问题在于viewpager中的表面视图重叠.以下是与问题相关的代码,布局和问题的屏幕截图.
包含viewpager的活动的布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout_tweet_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".TweetActivity" >
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager_tweet"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
片段layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/image_avatar"
android:layout_width="80dip"
android:layout_height="80dip" />
<TextView
android:id="@+id/text_user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/image_avatar"
android:layout_marginLeft="18dp"
android:layout_toRightOf="@+id/image_avatar"
android:text="TextView"
android:textSize="7pt" />
<TextView
android:id="@+id/text_tweet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/image_avatar"
android:layout_below="@+id/image_avatar"
android:text="TextView"
android:textSize="7pt" />
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/video_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:gravity="center_horizontal|center_vertical"
android:orientation="vertical"
android:layout_below="@+id/text_tweet" >
<FrameLayout
android:id="@+id/videoSurfaceContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<SurfaceView
android:id="@+id/videoSurface"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</FrameLayout>
</RelativeLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
Fragment.class
private Context …Run Code Online (Sandbox Code Playgroud)