Ich versuche, dieses VideoView im Vollbildmodus anzuzeigen:
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);
}
}
Das Video wird von SD-Karte abgespielt. Nur wenn ich auf die Vollbild-Menüschaltfläche klicke, wird die Anwendung "unerwartet beendet".
Helfen Sie mir bitte, wie Sie das Video im Vollbildmodus ausführen können. Danke im Voraus.
wenn Sie auf einen Menüpunkt klicken. Sie müssen eine neue Aktivität starten. Für diese Aktivität müssen Sie das Designattribut im Manifest festlegen. Stellen Sie diesen Wert ein
Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen"
das ist es.
Kein Code zum Abspielen von Videos im Vollbildmodus erforderlich
<?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>
Vielleicht liegt es daran, dass Sie folgenden Code hinzufügen müssen:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
vor setContentView(your_content_view)
, um die Titelleiste der App zu entfernen. Ich weiß, dass es eine sehr späte Antwort ist, aber jemand könnte es nützlich finden.
Aufgrund meiner Erfahrung können Sie die Relativ-Layout-Ansicht nur verwenden, damit Ihr Video im Hoch- und Querformat angezeigt wird. Die lineare Layoutansicht kann Videos nur in Querformat strecken. Sie können die zwei Ansichten ausprobieren, ohne Code schreiben zu müssen, und meine Theorie beweisen
Hochformat
<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>
Landschaftslayout
<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>
Okey, versuchen wir es mal so, das war für meinen vollen Bildschirm geeignet.
Android:theme="@Android:style/Theme.Translucent.NoTitleBar.Fullscreen"