更新: ビデオ プレーヤーを別のアクティビティとレイアウトに分離することになりました。次に、以下のコードを使用してこのアクティビティを開始しました。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startActivityForResult(new Intent(MainActivity.this, VideoActivity.class), VIDEO_PID); //load video
//etc.
}
アプリが読み込まれると、この関数を呼び出してビデオ アクティビティを強制終了し、メイン アクティビティを前面に表示します。
public void doneLoading() {
finishActivity(VIDEO_PID);
}
これが最善の方法かどうかはわかりませんが、うまくいきました。
=======================
中央の VideoView を表示し、アプリケーションが完全にロードされた後に WebView に切り替える最も簡単な方法は何ですか? アプリに個別に含めると、これらのビューが両方とも機能することを確認しました。ロード時にのみ VideoView を表示し、アプリケーションが閉じられるまで非表示にしたいだけです。
ViewPager と ViewFlipper を調べていましたが、まだ何も機能していません。それらを別々のアクティビティに含めることは避けるつもりでした。PageViewer はビューを管理しているように見えましたが (つまり、ビューを実行して初期化できるようにしました)、実際には表示していませんでした (私が見たのは黒い画面だけでした)。私はおそらく何かが欠けています。
ビデオの読み込みを開始してから、Web ビューを初期化する別のアクティビティを開始する方が簡単でしょうか。このアクティビティは、フォーカスを要求し、初期化の完了後にビデオの読み込みアクティビティを終了するようにメッセージを送信します。
私のレイアウトは、私が使用しているもののアイデアを提供するために下にあります。ありがとう。
PSジンジャーブレッドのサポートにフラグメントの使用を避けています。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<android.support.v4.view.ViewPager android:id="@+id/view_pager"
android:layout_width="wrap_content"
android:layout_height="0dip"
android:layout_weight="1" >
<VideoView
android:id="@+id/videoview_component"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_gravity="center"
/>
<WebView
android:id="@+id/webview_component"
android:layout_width="fill_parent"
android:layout_height="0dip"
/>
</android.support.v4.view.ViewPager>
</LinearLayout>