我目前正在使用this example source code来熟悉ZXing.截至目前,主屏幕如下所示:
当您按下“扫描”按钮时,它会全屏打开扫描仪,并将方向锁定为横向。现在,我希望它只在主屏幕的一部分中打开,而不是扫描仪打开全屏。换句话说,扫描仪应该只在红色框内:
我略微改变了主屏幕的布局,因此片段显示在按钮下方:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".HomeActivity"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal">
<TextView
android:text="@string/hello_world"
android:id="@+id/tv_welcome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"/>
<TextView
android:text="@string/blog_url"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_blog_url"
android:layout_marginBottom="@dimen/activity_vertical_margin"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_scan_now"
android:onClick="scanNow"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:id="@+id/btn_scan_now" />
<TextView
android:id="@+id/scan_format"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:gravity="center_horizontal"
android:layout_marginBottom="@dimen/activity_vertical_margin" />
<TextView
android:id="@+id/scan_content"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:gravity="center_horizontal" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scan_fragment"
android:orientation="horizontal"></LinearLayout>
</LinearLayout>
在下面的第一张图片中,您将看到我在自己的应用中尝试实现的目标。第二个是我到目前为止所拥有的。黑色部分是我想要扫描仪的地方。目前所有这一切都是为片段保留的线性布局:
但这是我停下来的地方。我不确定如何防止扫描仪进入全屏和横向以及将其锁定到页面的特定区域。任何人都可以就如何实现这一目标提供一些指导吗?
感谢您提前提供任何帮助。