在屏幕方向更改后填充
我是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?