平台: 使用 Android SDK 16 在 Eclipse 中开发。
问题: 我有一个 VideoView 元素,它应该以 480x800(纵向)填充整个屏幕,它可以正常播放,但不会定向到纵向。它坚持横向模式,纵横比倾斜以适应这种方式。
我已经尝试过:
- 在清单中使用 android:screenOrientation="portrait"
- 在容器和 VideoView 本身中使用 android:orientation="vertical"
- 使用 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 在我调用 setContentView 之前
- 试图将布局宽度和高度设置为 480dpx800dp 而不是 fill_parent
- 试图将 VideoView 的宽度和高度设置为 480px x 800dp 而不是 fill_parent
- 关闭自动旋转显示
XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="480dp"
android:layout_height="800dp"
android:background="#000000"
android:orientation="vertical" >
<VideoView
android:id="@+id/opening_video"
android:layout_width="480dp"
android:layout_alignParentRight="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_height="800dp"
android:orientation="vertical" />
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/transparent_button"
android:contentDescription="@string/back_button_desc"
android:background="@android:color/transparent" />
</RelativeLayout>
编码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.activity_start_screen);
VideoView videoView = (VideoView) findViewById(R.id.opening_video);
Uri pathToVideo = Uri.parse("android.resource://com.example.consumerengage/" + R.raw.opening_tablet);
videoView.setVideoURI(pathToVideo);
videoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
}
});
videoView.requestFocus();
videoView.start();
// boolean isPlaying = videoView.isPlaying() ;
// videoView.stopPlayback();
// videoView.clearFocus();
addListenerOnButton();
}
问题: 我所尝试的一切都没有成功。如何让我的 480x800 视频以纵向播放?