Android 安卓二维码扫描仪,背景色是半透明的,如何设置特定区域的全透明?
不知道是否有人能给我一些建议 背景是图像视图Android 安卓二维码扫描仪,背景色是半透明的,如何设置特定区域的全透明?,android,Android,不知道是否有人能给我一些建议 背景是图像视图 <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" android:layout_centerHorizontal="true"
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:alpha="0.1"
android:background="#FF000000" />
扫描仪区域也是一个图像视图
<ImageView
android:id="@+id/scan_view_finder"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:background="@drawable/scanningframe" />
这是扫描帧代码
解决方案构思:
- 使用位图,迭代所有像素,并将不在视图内的像素变灰。
- (+)仅限代码
- (-)难以实施
- (-)可能需要一些时间
- 在使屏幕变暗的同时,将区域照亮(使用带透明度的白色背景色)
- (+)易于实现
- (-)可能会导致颜色精度损失
- 在该区域周围使用4个视图以使背景变暗
- (+)易于实现
- (-)获取的视图比所需的多
- 创建一个带有区域度量的位图,并在其上绘制整个图像,这样您可以得到一个较小的图像片段。
- (+)比第一个位图想法更容易实现(只需计算中间值)
- (-)可能需要一些时间
- horizontal linearlayout
- view
- vertical layout
- view
- area
- view
- view
谢谢你的建议,看起来所有这些解决方案都需要很多时间。如果没有其他更简单的解决方案,那么我将切换到另一个扫描仪库。@MichaelChou您应该能够非常轻松地实现第三个扫描仪库(查看-回答-编辑)。这是最简单的解决方案(在5分钟内实现),您将找不到任何其他库为您实现此功能,因为这是一个非常具体的问题。即使这样,也不值得我这么努力让我试试你的建议,然后再告诉你答案。非常感谢。