2016-03-22 54 views
1

我正在使用Android上的应用程序,在该应用程序中,我想在点击图像后播放YouTube视频。我不想进入不同的活动或屏幕。如何在点击图像时播放YouTube视频?

另外我不希望视频占用分配给图像的空间以外的任何额外空间。

有人可以提出任何解决方案吗?我没有发现任何关于Android的帖子。

回答

1

感谢您的帮助。这对我的应用程序确实很好。让我解释我是如何最终做到的。为此我们需要相对布局,我们可以在其中重叠视图。我重叠了ImageView和youtubeView。最初,我将ImageView设置为VISIBLE,将youtubeView设置为INVISIBLE。在ImageView的View.onClickListener中,我将ImageView设置为INVISIBLE,将youtubeView设置为VISIBLE。这对我来说很好。

注意:除非要创建自己的自定义布局,否则视图重叠只能在RelativeLayout中使用,不能在任何其他布局中使用。

<RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="?android:attr/listPreferredItemHeight" 
     android:paddingStart="@dimen/activity_horizontal_margin_less" 
     android:paddingRight="@dimen/activity_horizontal_margin_less" 
     android:paddingTop="@dimen/activity_vertical_margin_less" 
     android:paddingBottom="@dimen/activity_vertical_margin_less" 
     tools:context="com.example.puneet.movieout.MovieInfoDisplay" 
     > 


     <TextView 
      android:layout_width="wrap_content" 
      android:id="@+id/textView2" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:text="I am Puneet Chugh. I am Puneet Chugh" 
      android:layout_centerHorizontal="true" 
      android:textSize="24sp" 
      android:textStyle="bold" 
      android:textColor="@color/black"/> 

     <com.google.android.youtube.player.YouTubePlayerView 
      android:id="@+id/youtube_view" 
      android:layout_below="@+id/textView2" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10dp" 

     /> 
     <ImageView 
      android:layout_marginTop="10dp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:id="@+id/imageView" 
      android:layout_below="@+id/textView2"/> 
    </RelativeLayout> 

活动部分:

youTubeView.setVisibility(View.INVISIBLE); 

    moviePoster.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      moviePoster.setVisibility(View.INVISIBLE); 
      youTubeView.setVisibility(View.VISIBLE); 
     } 
    }); 
1

在OnClickListener假设,你赶上click事件:

1)您将使图像隐形通过调用它setVisibility(View.GONE)

2)你将有一个VideoFragment类,它扩展YouTubePlayerSupportFragment,它会被包含在一个无形的容器,所以你打电话

VideoFragment videoFragment = (VideoFragment) getFragmentManager().findFragmentById(R.id.video_fragment_container); 
videoFragment.setVideoId(videoId); 
container.setVisibility(View.VISIBLE); 

有关详情,看看the sample applications

+0

.Thanks你的答案。那么,你是否建议我可以重叠观点?当我点击它并且视频出现时,我可以看到图像消失吗?视频适合相同的图像空间? –

相关问题