使用 ImageView
,我可以设置正方形的高度和宽度(比如 100dip x 100dip)。然后使用 android:scaleType="centerCrop"
给我一个无论宽高比如何都被裁剪成正方形的图像。
我们可以用 VideoView
做到这一点吗?
我试过只设置正方形的高度和宽度,但它只是重新调整大小以尽可能地填充正方形,同时保持纵横比,我想这完全符合预期。
与 ImageView
不同,它似乎没有任何缩放或裁剪属性/方法,但是 VideoView
文档中的这个让我觉得我遗漏了一些东西:
[VideoView] ...provides various display options such as scaling and tinting.
任何想法将不胜感激。
最佳答案
您使用 TextureView
获得视频裁剪效果这需要 Android API 14 和硬件加速。我在我的文章中描述过 here .
您也可以使用我的 TextureVideoView
- 基于 android TextureView
的自定义 View ,让您能够轻松播放和裁剪视频。这与 ImageView#setScaleType
布局
<com.dd.crop.TextureVideoView
android:id="@+id/cropTextureView"
android:layout_width="fill_parent"
android:layout_height="100dp"/>
代码
TextureVideoView cropTextureView = (TextureVideoView) findViewById(R.id.cropTextureView);
// Use `setScaleType` method to crop video
cropTextureView.setScaleType(TextureVideoView.ScaleType.TOP);
// Use `setDataSource` method to set data source, this could be url, assets folder or path
cropTextureView.setDataSource("http://www.w3schools.com/html/mov_bbb.mp4");
cropTextureView.play();
希望这会对某人有所帮助!
关于android - VideoView裁剪成正方形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4409950/