Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
S
scanqrwhite2copy1
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
scanqrwhite2copy1
Commits
115fef2d
Commit
115fef2d
authored
Feb 25, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
d40c2db8
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
213 additions
and
4 deletions
+213
-4
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+11
-3
BusinessCardActivity.kt
...com/base/scanqrclear/businesscard/BusinessCardActivity.kt
+85
-0
MainActivity.kt
...rc/main/java/com/base/scanqrclear/ui/main/MainActivity.kt
+0
-1
ScanOtherActivity.kt
...in/java/com/base/scanqrclear/ui/scan/ScanOtherActivity.kt
+10
-0
color_tab.xml
app/src/main/res/color/color_tab.xml
+5
-0
bg_f0f1f7_90.xml
app/src/main/res/drawable/bg_f0f1f7_90.xml
+5
-0
bg_tab.xml
app/src/main/res/drawable/bg_tab.xml
+5
-0
activity_business_card.xml
app/src/main/res/layout/activity_business_card.xml
+76
-0
item_business_card_tab.xml
app/src/main/res/layout/item_business_card_tab.xml
+14
-0
strings.xml
app/src/main/res/values/strings.xml
+2
-0
No files found.
app/src/main/AndroidManifest.xml
View file @
115fef2d
...
@@ -40,9 +40,7 @@
...
@@ -40,9 +40,7 @@
android:supportsRtl=
"true"
android:supportsRtl=
"true"
android:theme=
"@style/Theme.ScanQR"
android:theme=
"@style/Theme.ScanQR"
tools:targetApi=
"31"
>
tools:targetApi=
"31"
>
<activity
android:name=
".ui.scan.PdfResultActivity"
android:exported=
"false"
/>
<activity
<activity
android:name=
".ui.start.StartActivity"
android:name=
".ui.start.StartActivity"
android:exported=
"true"
android:exported=
"true"
...
@@ -255,6 +253,16 @@
...
@@ -255,6 +253,16 @@
android:exported=
"false"
android:exported=
"false"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<activity
android:name=
".businesscard.BusinessCardActivity"
android:exported=
"false"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<activity
android:name=
".ui.scan.PdfResultActivity"
android:exported=
"false"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<provider
<provider
android:name=
"androidx.core.content.FileProvider"
android:name=
"androidx.core.content.FileProvider"
...
...
app/src/main/java/com/base/scanqrclear/businesscard/BusinessCardActivity.kt
0 → 100644
View file @
115fef2d
package
com.base.scanqrclear.businesscard
import
android.graphics.Color
import
android.view.LayoutInflater
import
android.widget.TextView
import
androidx.core.view.marginStart
import
androidx.core.view.updatePadding
import
com.base.scanqrclear.R
import
com.base.scanqrclear.base.BaseActivity
import
com.base.scanqrclear.databinding.ActivityBusinessCardBinding
import
com.base.scanqrclear.databinding.ItemBusinessCardTabBinding
import
com.base.scanqrclear.utils.BarUtils
import
com.google.android.material.tabs.TabLayout
import
com.google.android.material.tabs.TabLayout.OnTabSelectedListener
import
com.gyf.immersionbar.ktx.immersionBar
class
BusinessCardActivity
:
BaseActivity
<
ActivityBusinessCardBinding
>(
ActivityBusinessCardBinding
::
inflate
)
{
override
fun
initView
()
{
super
.
initView
()
binding
.
clTop
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
arrayOf
(
getString
(
R
.
string
.
horizontal_version
),
getString
(
R
.
string
.
vertical_version
)).
forEachIndexed
{
index
,
text
->
val
tab
=
binding
.
tabLayout
.
newTab
()
val
view
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
item_business_card_tab
,
null
)
val
tabBinding
=
ItemBusinessCardTabBinding
.
bind
(
view
)
tabBinding
.
tvTab
.
text
=
text
// tabBinding.tvTab.setTextColor(ContextCompat.getColor(this, R.color.color_tab_home))
tab
.
customView
=
tabBinding
.
root
tab
.
id
=
index
binding
.
tabLayout
.
addTab
(
tab
)
}
}
fun
TabLayout
.
Tab
.
setUnselected
()
{
val
textView
=
customView
?.
findViewById
<
TextView
>(
R
.
id
.
tvTab
)
textView
?.
setTextColor
(
Color
.
parseColor
(
"#666666"
))
textView
?.
setBackgroundResource
(
R
.
drawable
.
bg_f0f1f7_90
)
}
fun
TabLayout
.
Tab
.
setSelected
()
{
val
textView
=
customView
?.
findViewById
<
TextView
>(
R
.
id
.
tvTab
)
textView
?.
setTextColor
(
Color
.
parseColor
(
"#ffffff"
))
textView
?.
setBackgroundResource
(
R
.
drawable
.
bg_6473f8_90
)
}
override
fun
initListener
()
{
super
.
initListener
()
binding
.
tabLayout
.
addOnTabSelectedListener
(
object
:
OnTabSelectedListener
{
override
fun
onTabSelected
(
tab
:
TabLayout
.
Tab
?)
{
tab
?.
let
{
it
.
setSelected
()
naviFragment
(
tab
.
id
)
}
}
override
fun
onTabUnselected
(
tab
:
TabLayout
.
Tab
?)
{
tab
?.
setUnselected
()
}
override
fun
onTabReselected
(
tab
:
TabLayout
.
Tab
?)
{
}
})
}
private
fun
naviFragment
(
id
:
Int
)
{
if
(
binding
.
viewPager2
.
currentItem
==
id
)
return
}
override
fun
configSystemBar
()
{
immersionBar
{
statusBarColor
(
"#FFFFFFFF"
)
statusBarDarkFont
(
false
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/main/MainActivity.kt
View file @
115fef2d
...
@@ -30,7 +30,6 @@ import com.base.scanqrclear.ui.widget.AppExitDialog.showAppExitDialog
...
@@ -30,7 +30,6 @@ 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.AppPreferences
import
com.base.scanqrclear.utils.AppPreferences
import
com.base.scanqrclear.utils.LogEx
import
com.base.scanqrclear.utils.LogEx
import
com.base.scanqrclear.utils.OpenFoodFactsUtils
import
com.base.scanqrclear.utils.PermissionUtils.areNotificationsEnabled
import
com.base.scanqrclear.utils.PermissionUtils.areNotificationsEnabled
import
com.base.scanqrclear.utils.PermissionUtils.checkCameraPermission
import
com.base.scanqrclear.utils.PermissionUtils.checkCameraPermission
import
com.google.android.material.tabs.TabLayout
import
com.google.android.material.tabs.TabLayout
...
...
app/src/main/java/com/base/scanqrclear/ui/scan/ScanOtherActivity.kt
View file @
115fef2d
...
@@ -15,7 +15,9 @@ import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_BUSINESS_CARD
...
@@ -15,7 +15,9 @@ import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_BUSINESS_CARD
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_COIN
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_COIN
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_DOCUMENT
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_DOCUMENT
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_FOOD
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_FOOD
import
com.base.scanqrclear.businesscard.BusinessCardActivity
import
com.base.scanqrclear.databinding.ActivityScanOtherBinding
import
com.base.scanqrclear.databinding.ActivityScanOtherBinding
import
com.base.scanqrclear.ui.main.ScanAc
import
com.base.scanqrclear.utils.BarUtils
import
com.base.scanqrclear.utils.BarUtils
import
com.base.scanqrclear.utils.LogEx
import
com.base.scanqrclear.utils.LogEx
import
com.base.scanqrclear.utils.ToastUtils.toast
import
com.base.scanqrclear.utils.ToastUtils.toast
...
@@ -54,6 +56,10 @@ class ScanOtherActivity : BaseActivity<ActivityScanOtherBinding>(ActivityScanOth
...
@@ -54,6 +56,10 @@ class ScanOtherActivity : BaseActivity<ActivityScanOtherBinding>(ActivityScanOth
)
)
adapter
.
itemClick
=
{
item
->
adapter
.
itemClick
=
{
item
->
when
(
item
.
key
)
{
when
(
item
.
key
)
{
KEY_FOOD
->
{
startActivity
(
Intent
(
this
,
ScanAc
::
class
.
java
))
}
KEY_DOCUMENT
->
{
KEY_DOCUMENT
->
{
val
options
=
GmsDocumentScannerOptions
.
Builder
()
val
options
=
GmsDocumentScannerOptions
.
Builder
()
.
setGalleryImportAllowed
(
true
)
.
setGalleryImportAllowed
(
true
)
...
@@ -71,6 +77,10 @@ class ScanOtherActivity : BaseActivity<ActivityScanOtherBinding>(ActivityScanOth
...
@@ -71,6 +77,10 @@ class ScanOtherActivity : BaseActivity<ActivityScanOtherBinding>(ActivityScanOth
toast
(
"Don't support GmsDocumentScanner"
,
true
)
toast
(
"Don't support GmsDocumentScanner"
,
true
)
}
}
}
}
KEY_BUSINESS_CARD
->
{
startActivity
(
Intent
(
this
,
BusinessCardActivity
::
class
.
java
))
}
}
}
}
}
}
}
...
...
app/src/main/res/color/color_tab.xml
0 → 100644
View file @
115fef2d
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:color=
"@color/white"
android:state_selected=
"true"
/>
<item
android:color=
"#666666"
android:state_selected=
"false"
/>
</selector>
\ No newline at end of file
app/src/main/res/drawable/bg_f0f1f7_90.xml
0 → 100644
View file @
115fef2d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"#F0F1F7"
/>
<corners
android:radius=
"90dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/bg_tab.xml
0 → 100644
View file @
115fef2d
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:state_selected=
"true"
android:drawable=
"@drawable/bg_6473f8_90"
/>
<item
android:state_selected=
"false"
android:drawable=
"@drawable/bg_f0f1f7_90"
/>
</selector>
\ No newline at end of file
app/src/main/res/layout/activity_business_card.xml
0 → 100644
View file @
115fef2d
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/main"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".businesscard.BusinessCardActivity"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/clTop"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toTopOf=
"parent"
>
<FrameLayout
android:id=
"@+id/flBack"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:padding=
"16dp"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/fanhui"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"5dp"
android:text=
"Business card"
android:textColor=
"#000000"
android:textSize=
"19sp"
android:textStyle=
"bold"
app:layout_constraintBottom_toBottomOf=
"@id/flBack"
app:layout_constraintStart_toEndOf=
"@id/flBack"
app:layout_constraintTop_toTopOf=
"@id/flBack"
tools:ignore=
"HardcodedText"
/>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:paddingVertical=
"12dp"
app:layout_constraintTop_toBottomOf=
"@id/flBack"
>
<com.google.android.material.tabs.TabLayout
android:id=
"@+id/tabLayout"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_marginHorizontal=
"10dp"
app:tabIndicatorHeight=
"0dp"
app:tabMode=
"fixed"
app:tabRippleColor=
"@android:color/transparent"
app:tabTextColor=
"@color/color_tab"
tools:ignore=
"SpeakableTextPresentCheck"
/>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.viewpager2.widget.ViewPager2
android:id=
"@+id/viewPager2"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/clTop"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/item_business_card_tab.xml
0 → 100644
View file @
115fef2d
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/tvTab"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"5dp"
android:background=
"@drawable/bg_tab"
android:gravity=
"center"
android:paddingHorizontal=
"20dp"
android:paddingVertical=
"10dp"
android:text=
"@string/horizontal_version"
android:textSize=
"15sp"
android:textStyle=
"bold"
/>
app/src/main/res/values/strings.xml
View file @
115fef2d
...
@@ -290,5 +290,7 @@
...
@@ -290,5 +290,7 @@
<string
name=
"document_scan"
>
Document Scan
</string>
<string
name=
"document_scan"
>
Document Scan
</string>
<string
name=
"business_card"
>
Business card
</string>
<string
name=
"business_card"
>
Business card
</string>
<string
name=
"do_you_want_to_delete_this_barcode"
>
Do you want to delete this barcode?
</string>
<string
name=
"do_you_want_to_delete_this_barcode"
>
Do you want to delete this barcode?
</string>
<string
name=
"horizontal_version"
>
Horizontal Version
</string>
<string
name=
"vertical_version"
>
Vertical Version
</string>
</resources>
</resources>
\ No newline at end of file
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