我正在按照CameraX codelab 的指导进行操作,但是即使使用了
希望库中有
setTargetAspectRatio
和 setTargetResolution
方法,在预览中仍然得到错误的宽高比。private fun startCamera() {
// Create configuration object for the viewfinder use case
val previewConfig = PreviewConfig.Builder().apply {
setTargetAspectRatio(Rational(1, 1))
setTargetResolution(Size(640, 640))
}.build()
...
布局使用编码硬编码的大小,如在代码实验中所示。
<TextureView
android:id="@+id/view_finder"
android:layout_width="640px"
android:layout_height="640px"
...
希望库中有
CameraTextureView
和一个属性android:scaleType
(类似于现有的用于ImageView
的属性),以便调整预览大小适应预览尺寸。
preview.setOnPreviewOutputUpdateListener
时,预览不再被拉伸。感谢你的提示。 然而,整个预览(一个矩形)位于视图(一个矩形)内部,类似于 ImageView 的 CENTER_INSIDE 缩放类型,我想要类似于 CENTER_CROP 的效果。这引出了我问题的第二点:希望能够有一个 CameraTextureView,可以设置相机预览的缩放类型。 - nglauber