ПЛАТФОРМА: Разработка в Eclipse с помощью Android SDK 16.
ПРОБЛЕМА: У меня есть элемент VideoView, который должен заполнить весь экран в 480x800 (ПОРТРЕТНАЯ ОРИЕНТАЦИЯ), и он отлично воспроизводится, но не будет ориентироваться на портрет. Он находится в ландшафтном режиме, и соотношение сторон искажено таким образом.
ЧТО Я ПОПЫТАЕТСЯ:
- Использование android: screenOrientation = "портрет" в манифесте
- используя андроид: ориентация = "вертикальная" в контейнере и сам VideoView
- с помощью 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 в портретной ориентации?