プラットフォーム: AndroidSDK16を使用したEclipseでの開発。
問題: 画面全体を480x800(縦向き)で塗りつぶすはずのVideoView要素があり、正常に再生されますが、縦向きにはなりません。横向きモードのままで、アスペクト比はそのように調整されます。
私が試みたこと:
- マニフェストでandroid:screenOrientation="portrait"を使用する
- コンテナとVideoView自体でandroid:orientation="vertical"を使用する
- setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);を使用します。setContentViewを呼び出す直前
- レイアウトの幅と高さをfill_parentではなく480dpx800dpに設定しようとしています
- VideoViewの幅と高さをfill_parentではなく480pxx800dpに設定しようとしています
- 自動回転表示をオフにする
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のビデオを縦向きで再生するにはどうすればよいですか?