YouTube播放器无法使用透明面板菜单Android

时间:2013-08-07 23:36:04

标签: youtube transparency

如果没有表格上的透明面板,YouTube播放器也会播放视频没问题,或者它会全屏播放,透明面板上有一些图像没什么特别的。如果我取出透明面板,YouTube播放器将根据需要工作,嵌入应用程序中。如果我将透明面板添加到表单,这是它不会播放但全屏播放。视频开始然后立即停止。我认为它与透明面板有关但我无法理解发生了什么。任何帮助或想法都会很棒。我的java文件没有改变,除了initPopup不存在。缩短下面的Java文件版本。

下面的XML布局文件:

   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mlayout"
android:layout_width="fill_parent" android:layout_height="fill_parent">
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <com.google.android.youtube.player.YouTubePlayerView
            android:id="@+id/youtube_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/spnrPSA" >
        </com.google.android.youtube.player.YouTubePlayerView>
    </RelativeLayout>

<com.TransparentPanel
    android:id="@+id/popup_window"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_gravity="bottom"
    android:gravity="left"
    android:orientation="vertical"
    android:padding="1px" >

<com.TransparentPanel>

</RelativeLayout>

下面的JAVA文件:

public final class PSA extends YouTubeFailureRecoveryActivity{
   private Animation animShow, animHide;

  private YouTubePlayer player;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.psa);
    initPopup();
    }


   private void initPopup() {

    final TransparentPanel popup = (TransparentPanel) findViewById(R.id.popup_window);

    //  Start out with the popup initially hidden.
    popup.setVisibility(View.GONE);

    if (PubVars.ScreenOrientation==0){
        animShow = AnimationUtils.loadAnimation( this, R.anim.popup_show);
        animHide = AnimationUtils.loadAnimation( this, R.anim.popup_hide);
    }      

     if (PubVars.ScreenOrientation==1){
         animShow = AnimationUtils.loadAnimation( this, R.anim.l_popup_show);
         animHide = AnimationUtils.loadAnimation( this, R.anim.l_popup_hide);
     }
    //animShow = AnimationUtils.loadAnimation( this, R.anim.popup_show);
    //animHide = AnimationUtils.loadAnimation( this, R.anim.popup_hide);

    final ImageView   showButton = (ImageView) findViewById(R.id.show_popup_button);
    final ImageView   hideButton = (ImageView) findViewById(R.id.hide_popup_button);
    showButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            popup.setVisibility(View.VISIBLE);
            popup.startAnimation( animShow );
            showButton.setEnabled(false);
            hideButton.setEnabled(true);
    }});

    hideButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            popup.startAnimation( animHide );
            showButton.setEnabled(true);
            hideButton.setEnabled(false);
            popup.setVisibility(View.GONE);
    }});

     }


 }

我一定很遗憾。在此先感谢,我对android很新。

2 个答案:

答案 0 :(得分:1)

Youtube Player View不会授权叠加层。即使它是透明的布局(相对,框架,......)。 播放器停止视频并登录logcat一些有用的信息。但是这个案例被报道为“youtubeplayer完全被覆盖”。

答案 1 :(得分:0)

这个api不允许任何人覆盖这个。 “布局是问题” 我建议你使用层次结构View在你的布局上看到这个。 我有很多问题,因为我的布局比播放器保持一点点。