【发布时间】:2018-09-14 18:37:06
【问题描述】:
我需要开发包含多个屏幕的应用程序,每个屏幕包含视频和图片或仅包含图片.. 每次间隔在此屏幕之间摆动
提示:用户不应通过停止视频或其他方式与视频互动
我尝试使用带有 YouTube 播放器 API 的视图寻呼机,但每个视频都会工作几秒钟然后停止并抛出此警告
“YouTube 视频播放因播放器顶部未经授权的覆盖而停止。YouTubePlayerView 被 com.google.android.youtube.player 遮挡”
附上我的代码截图。
我搜索了很多关于这个问题但我没有得到解决方案 我的代码的附加屏幕
我尝试通过使用片段和使用计时器在片段之间滑动来构建这个没有视图寻呼机..但也遇到了同样的问题
我也尝试使用网页视图,但无法处理之前所说的提示
是否有任何 viewPager 问题的解决方案,或者构建这个应用程序的其他想法?
这是我的主要活动
mPager.setAdapter(mPagerAdapter);
mPager.setOffscreenPageLimit(1);
pagerchangeListener = new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
mPagerAdapter.onPageChanged(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
};
mPager.addOnPageChangeListener(pagerchangeListener);
viewPager 适配器方法:
@Override
public Fragment getItem(int position) {
if (data.get(position).getVideo() == null) {
ImageFragment imageFragment = new ImageFragment();
Bundle args = new Bundle();
args.putString("IMAGE_URL", data.get(position).getImage());
imageFragment.setArguments(args);
return imageFragment;
} else {
Log.i("tag3", "getItem video" + String.valueOf(position));
VideoFragment videoFragment =
VideoFragment.newInstance(data.get(position).getVideo(), data.get(position).getImage());
listenerMap.put(position, videoFragment.getmInitializeListener());
return videoFragment;
}
}
视频片段的构造函数:
public VideoFragment() {
super();
setRetainInstance(true);
mInitializeListener = new InitializeListener() {
@Override
public void startVideo() {
if (getUserVisibleHint())
initYoutube();
}
@Override
public void stopVideo() {
if (youTubePlayer1 != null)
youTubePlayer1.release();
}
};
}
视频片段的xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.newConcept.education.galleryApp.fragment.VideoFragment">
<FrameLayout
android:id="@+id/VideoFragment_youtube_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top" />
<ImageView
android:id="@+id/VideoFragment_imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:scaleType="fitXY"/>
</LinearLayout>
【问题讨论】:
标签: android android-fragments android-viewpager youtube-api