在屏幕方向更改后填充

我是iOS开发人员将Android应用程序移植到Android上,因此请耐心等待。我有一个VideoView,它充当“视频背景”。 关于它的一切工作正常 - 纵向视图和方向更改(纵向视图)除外。 在AndroidManifest文件中,我有我的活动设置,以便屏幕方向不会触发布局刷新:

android:configChanges="orientation|screenSize"

这工作正常; VideoView中播放的视频的宽高比不正确。 视频偏斜以适应肖像边界,而不是裁剪左侧和右侧以保持纵横比。 我如何强制VideoView将视频“纵横填充”到容器中? 我还应该提到这个VideoView是一个ConstraintView的子视图。 这里是适用的XML:

<VideoView
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:id="@+id/videoView2"
    app:layout_constraintBottom_toBottomOf="@+id/imageView3"
    app:layout_constraintLeft_toLeftOf="@+id/imageView3"
    app:layout_constraintRight_toRightOf="@+id/imageView3"
    app:layout_constraintTop_toTopOf="@+id/imageView4"
    android:scaleType="centerCrop"
    android:adjustViewBounds="true"/>

您可以在方向更改后(通过onConfigurationChanged() )以编程方式检查方向,并相应地将videoView缩放类型设置为您想要的。

public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
        // set video view configurations to what you want on landscape
    }else{
        // set video view configurations to what you want on portrait
    }
}

关于缩放视频视图,这是另一个问题。 查看这个答案以获得更多关于它的信息:https://stackoverflow.com/a/7225469/4244598

https://stackoverflow.com/a/12335916/4244598

http://blog.kasenlam.com/2012/02/android-how-to-stretch-video-to-fill.html

链接地址: http://www.djcxy.com/p/46499.html

上一篇: fill after a screen orientation change

下一篇: In Android, the Activity isn't seeing the orientation change?