【发布时间】:2015-06-26 13:01:55
【问题描述】:
我想向YouTubePlayerView 添加一个按钮,但不知道这样做的最佳方式。我希望该按钮仅在用户单击屏幕以调出 youtube 控件(播放/暂停、时间线、共享等)时出现,该控件会在几秒钟后消失,就像控件消失一样。我已经查看了ViewGroupOverlay,但不确定这是否是最好的方法,并且我不确定当控件可用时如何仅将按钮添加到叠加层中。感觉就像我必须重写 YouTubePlayer 或 YouTubePlayerView 函数之一才能知道控件何时可见,但我只是在这里做一个假设。我对 android 比较陌生,自从我在 Java 中做任何严肃的事情以来已经有一段时间了。如果其他人不知道确切的答案,这里的任何方向都会很棒。在发布这个之前我已经环顾了大约 2 个小时:)
package com.example.something.exampletube;
import android.os.Bundle;
import android.view.ViewGroupOverlay;
import android.widget.Toast;
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;
/**
* Created by Nicholas Dwyer on 4/17/2015.
* This class is used to play youtube videos
*/
public class PlayerActivity extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {
YouTubePlayerView playerView;
ViewGroupOverlay groupOverlay;
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_player);
playerView = (YouTubePlayerView) findViewById(R.id.player_view);
playerView.initialize(YoutubeConnector.KEY, this);
groupOverlay = playerView.getOverlay();
}
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean restored) {
if(!restored) {
youTubePlayer.cueVideo(getIntent().getStringExtra("VIDEO_ID"));
}
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
String errorMessage = "There was an error initializing the YouTubePlayer" + youTubeInitializationResult.toString();
Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show();
//Toast.makeText(this,getString(R.string.failed), Toast.LENGTH_LONG).show();
}
}
【问题讨论】:
标签: java android youtube-api android-view android-youtube-api