私はこのVideoViewを全画面モードで表示しようとしています:
public class ViewVideo extends Activity {
private String filename;
private static final int INSERT_ID = Menu.FIRST;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.gc();
Intent i = getIntent();
Bundle extras = i.getExtras();
filename = extras.getString("videofilename");
VideoView vv = new VideoView(getApplicationContext());
setContentView(vv);
vv.setVideoPath(filename);
vv.setMediaController(new MediaController(this));
vv.requestFocus();
vv.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, INSERT_ID, 0,"FullScreen");
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch(item.getItemId()) {
case INSERT_ID:
createNote();
}
return true;
}
private void createNote() {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
ビデオはSDカードから再生されています。唯一のことは、フルスクリーンメニューボタンをクリックすると、アプリケーションが「突然停止する」ことです。
ビデオをフルスクリーンで実行する方法を教えてください。前もって感謝します。
メニュー項目をクリックしたとき。新しいアクティビティを開始する必要があります。そのアクティビティについては、マニフェストでテーマ属性を設定する必要があります。この値を設定します
Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen"
それでおしまい。
全画面モードでビデオを再生するためのコードは不要
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent" >
<VideoView Android:id="@+id/myvideoview"
Android:layout_width="fill_parent"
Android:layout_alignParentRight="true"
Android:layout_alignParentLeft="true"
Android:layout_alignParentTop="true"
Android:layout_alignParentBottom="true"
Android:layout_height="fill_parent">
</VideoView>
</RelativeLayout>
おそらく、次のコードを追加する必要があるためです。
_requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
_
setContentView(your_content_view)
の前に、アプリのタイトルバーを削除します。返信が非常に遅いことは知っていますが、誰かが役に立つかもしれません。
私の経験により、ビデオで縦向きと横向きを引き伸ばすには、相対レイアウトビューしか使用できません。線形レイアウトビューは、Landscapeでのみビデオをストレッチできます。コードを記述せずに2つのビューを試して、私の理論を証明できます
縦向きレイアウト
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_gravity="center"
Android:background="@Android:color/black">
<VideoView
Android:id="@+id/video_view"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="center" />
</FrameLayout>
横向きのレイアウト
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@Android:color/black">
<VideoView
Android:id="@+id/video_view"
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:layout_gravity="center"/>
</FrameLayout>
オーケー、このように試してみましょう、これは私のフルスクリーンに適していました。
Android:theme="@Android:style/Theme.Translucent.NoTitleBar.Fullscreen"