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
76efc9b1
Commit
76efc9b1
authored
Feb 27, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
115fef2d
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
125 additions
and
17 deletions
+125
-17
BusinessCardActivity.kt
...com/base/scanqrclear/businesscard/BusinessCardActivity.kt
+66
-3
BusinessCardFragment.kt
...com/base/scanqrclear/businesscard/BusinessCardFragment.kt
+15
-0
LanguageActivity.kt
...java/com/base/scanqrclear/ui/language/LanguageActivity.kt
+6
-1
activity_business_card.xml
app/src/main/res/layout/activity_business_card.xml
+7
-3
fragment_business_card.xml
app/src/main/res/layout/fragment_business_card.xml
+14
-0
item_business_card_tab.xml
app/src/main/res/layout/item_business_card_tab.xml
+15
-10
strings.xml
app/src/main/res/values/strings.xml
+2
-0
No files found.
app/src/main/java/com/base/scanqrclear/businesscard/BusinessCardActivity.kt
View file @
76efc9b1
package
com.base.scanqrclear.businesscard
import
android.graphics.Color
import
android.view.Gravity
import
android.view.LayoutInflater
import
android.widget.FrameLayout
import
android.widget.LinearLayout
import
android.widget.TextView
import
androidx.core.view.marginStart
import
androidx.core.view.updatePadding
import
androidx.fragment.app.Fragment
import
androidx.viewpager2.adapter.FragmentStateAdapter
import
androidx.viewpager2.widget.ViewPager2
import
com.base.scanqrclear.R
import
com.base.scanqrclear.base.BaseActivity
import
com.base.scanqrclear.databinding.ActivityBusinessCardBinding
...
...
@@ -16,26 +21,84 @@ import com.gyf.immersionbar.ktx.immersionBar
class
BusinessCardActivity
:
BaseActivity
<
ActivityBusinessCardBinding
>(
ActivityBusinessCardBinding
::
inflate
)
{
private
val
cardHFragment
by
lazy
(
LazyThreadSafetyMode
.
NONE
)
{
BusinessCardFragment
()
}
private
val
cardVFragment
by
lazy
(
LazyThreadSafetyMode
.
NONE
)
{
BusinessCardFragment
()
}
private
val
fragments
=
arrayOf
(
cardHFragment
,
cardVFragment
)
private
var
pageAdapter
:
FragmentStateAdapter
?
=
null
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
->
initViewPager2
()
initTab
()
}
private
fun
initTab
()
{
val
margin
=
resources
.
getDimensionPixelSize
(
R
.
dimen
.
dp_30
)
val
marginH
=
resources
.
getDimensionPixelSize
(
R
.
dimen
.
dp_5
)
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
)
val
layoutParams
=
LinearLayout
.
LayoutParams
(
LinearLayout
.
LayoutParams
.
MATCH_PARENT
,
LinearLayout
.
LayoutParams
.
WRAP_CONTENT
)
layoutParams
.
setMargins
(
marginH
,
0
,
marginH
,
0
)
layoutParams
.
width
=
LinearLayout
.
LayoutParams
.
MATCH_PARENT
tabBinding
.
root
.
layoutParams
=
layoutParams
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
)
}
}
private
fun
initViewPager2
()
{
pageAdapter
=
object
:
FragmentStateAdapter
(
this
)
{
override
fun
getItemCount
():
Int
{
return
fragments
.
size
}
override
fun
createFragment
(
position
:
Int
):
Fragment
{
return
fragments
[
position
]
}
}
binding
.
viewPager2
.
run
{
isUserInputEnabled
=
true
//https://www.jianshu.com/p/f69bd30cf5b0
//FragmentStateAdapter 这里必须传人fragment
adapter
=
pageAdapter
offscreenPageLimit
=
2
}
binding
.
viewPager2
.
registerOnPageChangeCallback
(
object
:
ViewPager2
.
OnPageChangeCallback
()
{
override
fun
onPageScrolled
(
position
:
Int
,
positionOffset
:
Float
,
positionOffsetPixels
:
Int
)
{
super
.
onPageScrolled
(
position
,
positionOffset
,
positionOffsetPixels
)
}
override
fun
onPageSelected
(
position
:
Int
)
{
val
defaultTab
=
binding
.
tabLayout
.
getTabAt
(
position
)
defaultTab
?.
select
()
defaultTab
?.
setSelected
()
}
})
}
fun
TabLayout
.
Tab
.
setUnselected
()
{
...
...
app/src/main/java/com/base/scanqrclear/businesscard/BusinessCardFragment.kt
0 → 100644
View file @
76efc9b1
package
com.base.scanqrclear.businesscard
import
com.base.scanqrclear.base.BaseFragment
import
com.base.scanqrclear.databinding.FragmentBusinessCardBinding
class
BusinessCardFragment
:
BaseFragment
<
FragmentBusinessCardBinding
>(
FragmentBusinessCardBinding
::
inflate
)
{
override
fun
initView
()
{
super
.
initView
()
}
override
fun
initListener
()
{
super
.
initListener
()
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/language/LanguageActivity.kt
View file @
76efc9b1
...
...
@@ -112,7 +112,12 @@ class LanguageActivity : BaseActivity<ActivityLanguageBinding>(ActivityLanguageB
Locale
(
"es"
,
""
).
country
)
)
languageBeanList
.
findLast
{
it
.
language
==
appLanguageSp
&&
it
.
country
==
appLanguageCountrySp
}
?.
isSelect
=
true
val
findBean
=
languageBeanList
.
findLast
{
it
.
language
==
appLanguageSp
&&
it
.
country
==
appLanguageCountrySp
}
if
(
findBean
!=
null
)
{
findBean
.
isSelect
=
true
}
else
{
languageBeanList
.
first
().
isSelect
=
true
}
adapter
?.
submitList
(
languageBeanList
)
}
...
...
app/src/main/res/layout/activity_business_card.xml
View file @
76efc9b1
...
...
@@ -53,11 +53,13 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_marginHorizontal=
"10dp"
android:background=
"#6A80FF"
app:tabGravity=
"center"
app:tabIndicatorHeight=
"0dp"
app:tabMaxWidth=
"200dp"
app:tabMinWidth=
"100dp"
app:tabMode=
"fixed"
app:tabRippleColor=
"@android:color/transparent"
app:tabTextColor=
"@color/color_tab"
tools:ignore=
"SpeakableTextPresentCheck"
/>
</FrameLayout>
...
...
@@ -70,7 +72,9 @@
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/clTop"
/>
app:layout_constraintTop_toBottomOf=
"@id/clTop"
app:layout_constraintVertical_bias=
"1.0"
tools:layout_editor_absoluteX=
"-51dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/fragment_business_card.xml
0 → 100644
View file @
76efc9b1
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
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"
tools:context=
".businesscard.BusinessCardFragment"
>
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:text=
"@string/hello_blank_fragment"
/>
</FrameLayout>
\ No newline at end of file
app/src/main/res/layout/item_business_card_tab.xml
View file @
76efc9b1
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android=
"http://schemas.android.com/apk/res/android"
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"#FF6150"
android:orientation=
"vertical"
>
<TextView
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"
/>
</LinearLayout>
app/src/main/res/values/strings.xml
View file @
76efc9b1
...
...
@@ -292,5 +292,7 @@
<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>
<!-- TODO: Remove or change this placeholder text -->
<string
name=
"hello_blank_fragment"
>
Hello blank fragment
</string>
</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