Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
S
scanqrwhitecopy
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
scanqrwhitecopy
Commits
52f0cffb
Commit
52f0cffb
authored
Jan 22, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
..
parent
75de19e4
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
45 additions
and
20 deletions
+45
-20
MainActivity.kt
...rc/main/java/com/base/scanqrclear/ui/main/MainActivity.kt
+9
-13
QRCodeUtils.kt
app/src/main/java/com/base/scanqrclear/utils/QRCodeUtils.kt
+33
-7
activity_main.xml
app/src/main/res/layout/activity_main.xml
+3
-0
No files found.
app/src/main/java/com/base/scanqrclear/ui/main/MainActivity.kt
View file @
52f0cffb
...
@@ -20,7 +20,6 @@ import com.base.scanqrclear.bean.config.AdConfigBean
...
@@ -20,7 +20,6 @@ import com.base.scanqrclear.bean.config.AdConfigBean
import
com.base.scanqrclear.databinding.ActivityMainBinding
import
com.base.scanqrclear.databinding.ActivityMainBinding
import
com.base.scanqrclear.databinding.ItemHomeTabBinding
import
com.base.scanqrclear.databinding.ItemHomeTabBinding
import
com.base.scanqrclear.luma.HomeFragment
import
com.base.scanqrclear.luma.HomeFragment
import
com.base.scanqrclear.qr.CameraUtils
import
com.base.scanqrclear.ui.widget.AppExitDialog.showAppExitDialog
import
com.base.scanqrclear.ui.widget.AppExitDialog.showAppExitDialog
import
com.base.scanqrclear.ui.widget.NotificationDialog.showNotificationTurnOn
import
com.base.scanqrclear.ui.widget.NotificationDialog.showNotificationTurnOn
import
com.base.scanqrclear.utils.LogEx
import
com.base.scanqrclear.utils.LogEx
...
@@ -34,14 +33,11 @@ import java.util.concurrent.atomic.AtomicBoolean
...
@@ -34,14 +33,11 @@ import java.util.concurrent.atomic.AtomicBoolean
class
MainActivity
:
BaseActivity
<
ActivityMainBinding
>(
ActivityMainBinding
::
inflate
)
{
class
MainActivity
:
BaseActivity
<
ActivityMainBinding
>(
ActivityMainBinding
::
inflate
)
{
private
val
homeTabs
by
lazy
{
private
val
homeTabs
by
lazy
{
arrayOf
(
arrayOf
(
HomeTabUIBean
(
R
.
drawable
.
bg_selector_create
,
getString
(
R
.
string
.
create
)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_create
,
getString
(
R
.
string
.
create
)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_clean
,
getString
(
R
.
string
.
files
)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_clean
,
getString
(
R
.
string
.
files
)),
// HomeTabUIBean(R.drawable.bg_selector_scan, getString(R.string.scan)),
// HomeTabUIBean(R.drawable.bg_selector_scan, getString(R.string.scan)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_history
,
getString
(
R
.
string
.
history
)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_history
,
getString
(
R
.
string
.
history
)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_settings
,
getString
(
R
.
string
.
settings
)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_settings
,
getString
(
R
.
string
.
settings
)),
)
)
...
@@ -63,7 +59,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
...
@@ -63,7 +59,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
HomeFragment
()
HomeFragment
()
}
}
private
val
fragments
=
arrayOf
(
createFragment
,
homeFragment
,
historyFragment
,
settingFragment
)
private
val
fragments
=
arrayOf
(
createFragment
,
homeFragment
,
historyFragment
,
settingFragment
)
private
var
pageAdapter
:
FragmentStateAdapter
?
=
null
private
var
pageAdapter
:
FragmentStateAdapter
?
=
null
...
@@ -78,16 +74,16 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
...
@@ -78,16 +74,16 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
override
fun
onResume
()
{
override
fun
onResume
()
{
super
.
onResume
()
super
.
onResume
()
if
(
checkCameraPermission
())
{
// if (checkCameraPermission()) {
if
(!
bannerShowed
.
get
())
{
if
(!
bannerShowed
.
get
())
{
bannerShowed
.
set
(
true
)
bannerShowed
.
set
(
true
)
AdsMgr
.
showBanner
(
binding
.
flBanner
,
true
)
{
AdsMgr
.
showBanner
(
binding
.
flBanner
,
true
)
{
showNotificationDialog
()
}
}
else
{
showNotificationDialog
()
showNotificationDialog
()
}
}
}
else
{
showNotificationDialog
()
}
}
// }
}
}
private
fun
showNotificationDialog
()
{
private
fun
showNotificationDialog
()
{
...
...
app/src/main/java/com/base/scanqrclear/utils/QRCodeUtils.kt
View file @
52f0cffb
...
@@ -36,6 +36,33 @@ object QRCodeUtils {
...
@@ -36,6 +36,33 @@ object QRCodeUtils {
// e.printStackTrace()
// e.printStackTrace()
// }
// }
// return null
// return null
// }
// fun generateQRCode(content: String, width: Int, height: Int, margin: Int = 1): Bitmap? {
// val writer = QRCodeWriter()
// val hints = HashMap<EncodeHintType, Any>()
// hints[EncodeHintType.MARGIN] = margin // 设置二维码边距,默认为1
// hints[EncodeHintType.ERROR_CORRECTION] = com.google.zxing.qrcode.decoder.ErrorCorrectionLevel.L // 设置二维码的容错级别
// hints[EncodeHintType.CHARACTER_SET] = "UTF-8" // 设置字符集为UTF-8,确保中文可以正确编码
// try {
// val bitMatrix: BitMatrix = writer.encode(content, BarcodeFormat.QR_CODE, width, height, hints)
// val bitmapWidth = bitMatrix.width + margin * 2
// val bitmapHeight = bitMatrix.height + margin * 2
// val bitmap = Bitmap.createBitmap(bitmapWidth, bitmapHeight, Bitmap.Config.ARGB_8888)
//
// // 绘制带有边距的二维码
// for (x in 0 until bitMatrix.width) {
// for (y in 0 until bitMatrix.height) {
// val nX = x + margin
// val nY = y + margin
// bitmap.setPixel(nX, nY, if (bitMatrix[x, y]) Color.BLACK else Color.WHITE)
// }
// }
// return bitmap
// } catch (e: WriterException) {
// e.printStackTrace()
// }
// return null
// }
// }
fun
generateQRCode
(
content
:
String
,
width
:
Int
,
height
:
Int
,
margin
:
Int
=
1
):
Bitmap
?
{
fun
generateQRCode
(
content
:
String
,
width
:
Int
,
height
:
Int
,
margin
:
Int
=
1
):
Bitmap
?
{
...
@@ -46,16 +73,14 @@ object QRCodeUtils {
...
@@ -46,16 +73,14 @@ object QRCodeUtils {
hints
[
EncodeHintType
.
CHARACTER_SET
]
=
"UTF-8"
// 设置字符集为UTF-8,确保中文可以正确编码
hints
[
EncodeHintType
.
CHARACTER_SET
]
=
"UTF-8"
// 设置字符集为UTF-8,确保中文可以正确编码
try
{
try
{
val
bitMatrix
:
BitMatrix
=
writer
.
encode
(
content
,
BarcodeFormat
.
QR_CODE
,
width
,
height
,
hints
)
val
bitMatrix
:
BitMatrix
=
writer
.
encode
(
content
,
BarcodeFormat
.
QR_CODE
,
width
,
height
,
hints
)
val
bitmapWidth
=
bitMatrix
.
width
+
margin
*
2
val
bitmapWidth
=
bitMatrix
.
width
val
bitmapHeight
=
bitMatrix
.
height
+
margin
*
2
val
bitmapHeight
=
bitMatrix
.
height
val
bitmap
=
Bitmap
.
createBitmap
(
bitmapWidth
,
bitmapHeight
,
Bitmap
.
Config
.
ARGB_8888
)
val
bitmap
=
Bitmap
.
createBitmap
(
bitmapWidth
,
bitmapHeight
,
Bitmap
.
Config
.
ARGB_8888
)
// 绘制
带有边距的
二维码
// 绘制二维码
for
(
x
in
0
until
bitMatrix
.
width
)
{
for
(
x
in
0
until
bitMatrix
.
width
)
{
for
(
y
in
0
until
bitMatrix
.
height
)
{
for
(
y
in
0
until
bitMatrix
.
height
)
{
val
nX
=
x
+
margin
bitmap
.
setPixel
(
x
,
y
,
if
(
bitMatrix
[
x
,
y
])
Color
.
BLACK
else
Color
.
WHITE
)
val
nY
=
y
+
margin
bitmap
.
setPixel
(
nX
,
nY
,
if
(
bitMatrix
[
x
,
y
])
Color
.
BLACK
else
Color
.
WHITE
)
}
}
}
}
return
bitmap
return
bitmap
...
@@ -89,8 +114,9 @@ object QRCodeUtils {
...
@@ -89,8 +114,9 @@ object QRCodeUtils {
}
}
return
bitmap
return
bitmap
}
catch
(
e
:
WriterException
)
{
}
catch
(
e
:
WriterException
)
{
throw
RuntimeException
(
e
)
e
.
printStackTrace
(
)
}
}
return
null
}
}
fun
getPairKeyValue
(
keyValue
:
String
):
Pair
<
String
,
String
>
{
fun
getPairKeyValue
(
keyValue
:
String
):
Pair
<
String
,
String
>
{
...
...
app/src/main/res/layout/activity_main.xml
View file @
52f0cffb
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"60dp"
android:layout_marginBottom=
"60dp"
android:background=
"@color/white"
app:layout_constraintBottom_toBottomOf=
"parent"
>
app:layout_constraintBottom_toBottomOf=
"parent"
>
<com.google.android.material.tabs.TabLayout
<com.google.android.material.tabs.TabLayout
...
@@ -27,6 +28,7 @@
...
@@ -27,6 +28,7 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_gravity=
"center"
android:background=
"@color/white"
app:tabIndicatorHeight=
"0dp"
app:tabIndicatorHeight=
"0dp"
app:tabMaxWidth=
"200dp"
app:tabMaxWidth=
"200dp"
app:tabMinWidth=
"100dp"
app:tabMinWidth=
"100dp"
...
@@ -39,6 +41,7 @@
...
@@ -39,6 +41,7 @@
android:id=
"@+id/fl_banner"
android:id=
"@+id/fl_banner"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:layout_height=
"60dp"
android:background=
"@color/white"
app:layout_constraintBottom_toBottomOf=
"parent"
>
app:layout_constraintBottom_toBottomOf=
"parent"
>
<ImageView
<ImageView
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment