我想在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();
}
}