我有同樣的問題 - 我想YouTube播放器添加到我的應用程序,但樺林我並不想從它刪除夏洛特(基於支持庫)。什麼是壞的,我沒有能夠使用任何playbers,因爲我有錯誤(膨脹片段,YouTubePlayerView無法啓動沒有特殊的活動等)。
工作原理:我使用了SherlockFragmentActivity,FragmentManager(getSupportFragmentManager())和YouTubePlayerSupportFragment。我沒有將它添加到XML中,而是從代碼創建了一切。我的佈局是這樣的:
<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="match_parent"
tools:context=".MainActivity" >
<LinearLayout
android:id="@+id/fragmentz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world" />
和Java代碼:
package com.example.youtubetesting;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayer.OnInitializedListener;
import com.google.android.youtube.player.YouTubePlayerSupportFragment;
import com.google.android.youtube.player.YouTubePlayer.Provider;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
public class MainActivity extends SherlockFragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
YouTubePlayerSupportFragment fragment = new YouTubePlayerSupportFragment();
fragmentTransaction.add(R.id.fragmentz, fragment);
fragmentTransaction.commit();
fragment.initialize("Your API KEY HERE",
new OnInitializedListener() {
@Override
public void onInitializationSuccess(Provider arg0,
YouTubePlayer arg1, boolean arg2) {
if (!arg2) {
arg1.loadVideo("wKJ9KzGQq0w");
}
}
@Override
public void onInitializationFailure(Provider arg0,
YouTubeInitializationResult arg1) {
}
});
}
}
我不知道爲什麼Android的返航錯誤,當我在不斷膨脹的正常方式的意見,但這種完美的作品。
這個和juandg的答案似乎是正確的。這個答案提供了一些具體的例子,所以我標記了達米安最完整的。 – kittka
你有沒有正確使用此全屏? –