当前位置: 首页 > wzjs >正文

网站建设需求信息做外贸找工厂货源网站

网站建设需求信息,做外贸找工厂货源网站,织梦网站安装教程,wordpress导航栏特效插件Android 点击按钮调用竖屏二维码扫描 提示:zxing-android-embedded插件已过时,建议更换别的。 场景:Home页面上有个扫描按钮,点击后打开摄像头完成扫描功能,扫描时要求竖屏。 方案:使用zxing-android-embe…

Android 点击按钮调用竖屏二维码扫描

提示:zxing-android-embedded插件已过时,建议更换别的。
场景:Home页面上有个扫描按钮,点击后打开摄像头完成扫描功能,扫描时要求竖屏。
方案:使用zxing-android-embedded插件,新建独立的activity,设置为竖屏。

1. 添加依赖

在 app 的 build.gradle 中添加:

dependencies {implementation 'com.journeyapps:zxing-android-embedded:4.3.0'implementation 'androidx.appcompat:appcompat:1.4.1'
}

2. 创建自定义竖屏扫描 Activity

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.journeyapps.barcodescanner.CaptureActivity;/*** 自定义竖屏扫描Activity*/
public class VerticalScannerActivity extends CaptureActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 可以在这里添加自定义布局或样式// 默认情况下会使用库自带的竖屏布局}
}

3. 在 AndroidManifest.xml 中声明

<application><!-- 相机权限 --><uses-permission android:name="android.permission.CAMERA" /><!-- 自定义扫描Activity --><!-- 强制竖屏 --><activityandroid:name=".VerticalScannerActivity"android:screenOrientation="portrait"/>
</application>

4. 创建按钮布局 (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<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:orientation="vertical"android:gravity="center"tools:context=".MainActivity"><Buttonandroid:id="@+id/btn_scan"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="扫描二维码"android:textSize="18sp"android:padding="16dp"/>
</LinearLayout>

5. 实现 MainActivity

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;public class MainActivity extends AppCompatActivity {private static final int SCAN_REQUEST_CODE = 1001;private TextView tvResult;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btnScan = findViewById(R.id.btn_scan);tvResult = findViewById(R.id.tv_result);btnScan.setOnClickListener(v -> startQrScanner());}private void startQrScanner() {// 创建扫描器实例IntentIntegrator integrator = new IntentIntegrator(this);// 配置扫描参数// integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE); // 只扫描QR码integrator.setPrompt("将二维码放入框内扫描"); // 提示文字integrator.setCameraId(0); // 使用后置摄像头integrator.setBeepEnabled(false); // 关闭提示音integrator.setBarcodeImageEnabled(false); // 不保存扫描图片// integrator.setOrientationLocked(true); // 锁定竖屏integrator.setCaptureActivity(VerticalScannerActivity.class); // 使用自定义竖屏Activity// 启动扫描integrator.initiateScan();}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);// 处理扫描结果IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);if (result != null) {if (result.getContents() == null) {Toast.makeText(this, "扫描已取消", Toast.LENGTH_SHORT).show();} else {// 显示扫描结果tvResult.setText("扫描结果: " + result.getContents());}}}
}

6. 配置方法

方法 说明
setDesiredBarcodeFormats(String... formats) 设置要扫描的条码类型
setPrompt(String prompt) 设置提示文字
setCameraId(int cameraId) 设置摄像头ID (0=后置, 1=前置)
setBeepEnabled(boolean enabled) 设置扫描成功时是否播放提示音
setBarcodeImageEnabled(boolean enabled) 设置是否保存扫描的条码图片
setOrientationLocked(boolean locked) 是否锁定屏幕方向
setCaptureActivity(Class<?> captureActivity) 设置自定义扫描Activity
setTimeout(long timeout) 设置超时时间(毫秒)
setTorchEnabled(boolean enabled) 是否启用手电筒功能
addExtra(String key, Object value) 添加额外参数

7. 特点说明

  1. 强制竖屏:通过 android:screenOrientation="portrait" 确保扫描界面保持竖屏
  2. 简洁集成:使用 IntentIntegrator 简化扫描流程
  3. 结果处理:在 onActivityResult 中处理扫描结果
  4. 自定义界面:可以通过继承 CaptureActivity 进一步自定义扫描界面
  5. 权限处理:包含完整的运行时权限处理逻辑
http://www.dtcms.com/wzjs/808527.html

相关文章:

  • 网站外链隐形框架是什么重庆建网站价格表
  • 使用wordpress搭建网站网站建设与推广推荐
  • 做外贸国外网站网站设计建设公司排行
  • 精品课程网站开发平台seo案例模板
  • 微网站建设及微信推广方案ppt灰色关键词排名收录
  • 网站建设伍金手指下拉7软件工程师40岁后的出路
  • 有专业做外贸的网站吗工作室名字创意好听
  • 有哪些做普洱茶网站的高中作文网官网
  • 速推网网站如何进行代码优化
  • 铜仁市建设局网站wordpress改造熊掌号
  • 营销网站模板html短视频素材网
  • 建设环评备案登记网站做鱫视频网站
  • 在哪个网站找水利工地做手机网站底部导航
  • 网站效果图设计方案网站建设钱
  • 网站开发毕设题目开发网站中心
  • 宁波哪里有做网站的洛阳网站建设睿翼网络入驻洛阳
  • 李宁网站建设的可行性企业微信一年的费用要多少
  • wordpress 失眠先生辽宁好的百度seo公司
  • 深圳市企业网站seo做中英文网站要注意什么
  • 做网站需要用到的软件天津市做企业标准网站
  • 菜鸟怎样做自己的网站wordpress教程app
  • 怎么申请网站域名赚钱淘宝客怎样做网站
  • 借鉴网网站企业网站管理系统 php
  • 网站设计答辩ppt广告型网站建设
  • 台州seo网站排名view主题WordPress
  • 网上购物网站建设需求石家庄站内换乘示意图
  • 工业做网站小程序直播系统开发
  • 连平网站建设做教育培训应该注册什么公司
  • 长沙网站设计培训网站的透明图片怎么做
  • 用书籍上的文章做网站更新0元入驻的电商平台