Android横向视频视图处于纵向模式

Android横向视频视图处于纵向模式,android,landscape-portrait,android-videoview,Android,Landscape Portrait,Android Videoview,我有一个活动,它应该在景观中显示视频视图,但活动本身不能在景观模式下,所以这就是我的活动 <activity android:name=".gui.VideoPlayer" android:label="@string/app_name" android:launchMode="singleTask" android:screenOrientation="portrait" > </activity

我有一个活动,它应该在景观中显示视频视图,但活动本身不能在景观模式下,所以这就是我的活动

    <activity
        android:name=".gui.VideoPlayer"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="portrait" >
    </activity>

<?xml version="1.0" encoding="utf-8"?>

活动

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <VideoView
        android:id="@+id/myvideoview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center" />

</LinearLayout>


(活动本身必须保持纵向模式,因为设备将放置在覆盖导航栏和状态栏的机箱中,但在横向模式下,它将不再覆盖导航栏和状态栏)

我知道这不是最佳答案,但我不久前遇到了同样的问题,并找到了一个非常方便的解决方法,可能也会对您有所帮助

尝试使用TextureView而不是VideoView,因为旋转它时,里面的内容也会旋转

 <TextureView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/my_texture_view"
    android:rotation="90"
    android:scaleX="1.8"
    />
现在只需将侦听器设置为您的TextureView:

 mTextureView.setSurfaceTextureListener(mTextureListener);
剩下要做的就是调用此按钮开始视频:

mMediaPlayer.start();

奖励:如果你想做更复杂的调整,比如调整视频纵横比以获得更多细节

我想这个[问题][1]和这个[2]可能会回答你的问题。[1]: [2]:
mMediaPlayer.start();