То, что вы хотите сделать, это установить привязку для элементов управления и убедиться, что привязка не занимает весь экран.Например, вот пример макета (неполный, но суть понятна):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/preview_video_container_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<VideoView
android:id="@+id/preview_video_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>
Затем в своем коде при настройке медиа-контроллера вы сделаете следующее:
mPreview = (VideoView) findViewById(R.id.preview_video_view);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(mPreview);
Ключ в том, что внутренний линейный макет содержит обтекание по высоте, поэтому он не занимает весь экран.Это в конечном итоге показывает элементы управления прямо под видео.Если вы хотите сделать что-то еще более прикольное, например, иметь элементы управления поверх самого видео (а затем появиться / исчезнуть), то я считаю, что вам придется создавать свои собственные элементы управления и размещать их в виде видео.