我想创建一个条形码扫描器活动,我找到了这个很好的教程:http://www.devexchanges.info/2016/10/reading-barcodeqr-code-using-mobile.html
如何使用检测到的区域(带点或矩形)装饰预览图像。
发布于 2019-11-13 13:38:48
将另一个透明视图放在您的SurfaceView
上,并在其上绘制。第二个视图将松散耦合,所以有一些数学涉及到它的正确匹配装饰与相机输出。
所以在你的activity_main.xml
中
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<SurfaceView
android:id="@+id/surface_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true" />
<com.yourApp.YourDecoratorView
android:id="@+id/decorator_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true" />
...
</RelativeLayout>
然后,创建一个自定义视图:
class YourDecoratorView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : View(context, attrs, defStyleAttr) {
... initializing code
override fun onDraw(canvas: Canvas?) {
super.onDraw(canvas)
// your code
canvas?.drawLine(0f, 0f, 0f, paint)
}
}
如果您只想显示静态视觉效果,请使用ImageView
而不是自定义视图,并创建您想要的可绘制内容。
https://stackoverflow.com/questions/58838221
复制