一分钟实现扫描二维码功能
生活随笔
收集整理的這篇文章主要介紹了
一分钟实现扫描二维码功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
二維碼掃描的功能在很多APP上都會出現,較為常用的第三方庫是zxing,zxing很強大,但是有時候我們并不需要那么復雜的功能,只需要簡單的掃描、生成以及處理掃描結果,一般都是通過重寫幾個類來實現項目需求。我開發了幾個項目都用到了掃描二維碼的功能,第一個項目,寫了個完整的功能,之后的項目都是從第一個項目里面復制代碼的,幾次之后,覺得有點繁瑣,所以就單獨封裝成一個項目,傳到jcenter上,以后再遇到掃描二維碼的功能,只需要在gradle導入,即可實現快速開發了。
下載APP體驗
導入
compile 'com.hebin:hxbrzxing:1.0.1'使用
導入庫之后,就可以使用掃描二維碼的功能了,只需要新建一個activity,然后繼承CaptureActivity即可。
class MainActivity : CaptureActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)} }自定義使用
如果只是簡單的繼承,那么得到的效果圖如下:
這里提供了幾個可以自定義的屬性;
1. 標題欄自定義
class MainActivity : CaptureActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)val view = LayoutInflater.from(this@MainActivity).inflate(R.layout.simple_title,null)setTitleView(view)} }2. 背景圖片自定義
class MainActivity : CaptureActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setBackground(R.mipmap.ic_launcher)} }3. 提示文字自定義
class MainActivity : CaptureActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setTipText("請掃描二維碼")} }4. 附加功能
class MainActivity : CaptureActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)val view= LayoutInflater.from(this@MainActivity).inflate(R.layout.simple_title,null)// 打開相冊,識別圖片二維碼view.tvTitle.setOnClickListener { openPhoto() }// 打開閃光燈view.tvTitle.setOnClickListener { openLight() }setTitleView(view)}}掃描結果處理
繼承CaptureActivity.ResultListener,并且在oncreat里面,寫上setListener(this)即可實現監聽,然后在onResult里面做邏輯處理。
class MainActivity : CaptureActivity(), CaptureActivity.ResultListener {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setListener(this)}override fun onResult(result: String) {if (result.contains("http")) {Toast.makeText(this@MainActivity, "跳轉到網頁", Toast.LENGTH_SHORT).show()} else {Toast.makeText(this@MainActivity, "這個二維碼不是網頁", Toast.LENGTH_SHORT).show()}} }后話
至此,只要通過簡單的幾行代碼就實現掃描二維碼的功能,而且這個掃描二維碼的功能,是支持連續掃描的,不需要退出重新進入即可再次掃描。項目源碼已經傳到github上了。
https://github.com/Hebin320/Zxing總結
以上是生活随笔為你收集整理的一分钟实现扫描二维码功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server2014 SP2新增
- 下一篇: GC算法