Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
L
location share white
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
location share white
Commits
3beaf72c
Commit
3beaf72c
authored
Oct 16, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init
parent
f429367e
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
384 additions
and
38 deletions
+384
-38
ConstObject.kt
...main/java/com/base/locationsharewhite/bean/ConstObject.kt
+18
-0
LanguageBean.kt
...ain/java/com/base/locationsharewhite/bean/LanguageBean.kt
+31
-0
BaseActivity.kt
...n/java/com/base/locationsharewhite/helper/BaseActivity.kt
+32
-29
MyApplication.kt
.../java/com/base/locationsharewhite/helper/MyApplication.kt
+5
-2
HowUseShareActivity.kt
.../base/locationsharewhite/ui/howuse/HowUseShareActivity.kt
+0
-1
MainActivity.kt
.../java/com/base/locationsharewhite/ui/main/MainActivity.kt
+11
-0
LanguageActivity.kt
...va/com/base/locationsharewhite/ui/set/LanguageActivity.kt
+73
-0
LanguageAdapter.kt
...ava/com/base/locationsharewhite/ui/set/LanguageAdapter.kt
+40
-0
SettingActivity.kt
...ava/com/base/locationsharewhite/ui/set/SettingActivity.kt
+15
-0
LanguageUtils.kt
...n/java/com/base/locationsharewhite/utils/LanguageUtils.kt
+61
-0
color_language_text.xml
app/src/main/res/color/color_language_text.xml
+7
-0
bg_language_selector.xml
app/src/main/res/drawable/bg_language_selector.xml
+6
-0
bg_stroke_03b988_15_3.xml
app/src/main/res/drawable/bg_stroke_03b988_15_3.xml
+8
-0
bg_stroke_0c2a22_15_3.xml
app/src/main/res/drawable/bg_stroke_0c2a22_15_3.xml
+7
-0
activity_language.xml
app/src/main/res/layout/activity_language.xml
+7
-1
activity_setting.xml
app/src/main/res/layout/activity_setting.xml
+2
-1
item_language.xml
app/src/main/res/layout/item_language.xml
+17
-4
strings.xml
app/src/main/res/values-zh-rCN/strings.xml
+44
-0
No files found.
app/src/main/java/com/base/locationsharewhite/bean/ConstObject.kt
View file @
3beaf72c
package
com.base.locationsharewhite.bean
import
com.base.locationsharewhite.utils.AppPreferences
import
java.util.Locale
object
ConstObject
{
...
...
@@ -22,4 +23,21 @@ object ConstObject {
AppPreferences
.
getInstance
().
put
(
"myLocationCode"
,
value
,
true
)
}
var
appLanguageSp
=
Locale
.
getDefault
().
language
+
"_"
+
Locale
.
getDefault
().
country
get
()
{
return
AppPreferences
.
getInstance
().
getString
(
"appLanguageSp"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"appLanguageSp"
,
value
,
true
)
}
var
changeLanguageSp
=
appLanguageSp
get
()
{
return
AppPreferences
.
getInstance
().
getString
(
"changeLanguageSp"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"changeLanguageSp"
,
value
,
true
)
}
}
\ No newline at end of file
app/src/main/java/com/base/locationsharewhite/bean/LanguageBean.kt
0 → 100644
View file @
3beaf72c
package
com.base.locationsharewhite.bean
import
java.util.Locale
data class
LanguageBean
(
val
key
:
String
,
val
language
:
String
,
val
country
:
String
,
)
{
var
isSelect
:
Boolean
=
false
var
isFollowSystem
:
Boolean
=
false
companion
object
{
const
val
English
=
"English"
const
val
简体中文 = "简体中文"
const
val
português
=
"português"
const
val
Español
=
"Español "
const
val
Français
=
"Français"
const
val
Deutsch
=
"Deutsch"
const
val
ไทย = "ไทย"
const
val
Bahasa_Indonesia
=
"Bahasa Indonesia"
const
val
Melayu
=
"Melayu"
const
val
Tiếng_Việt
=
"Tiếng Việt"
const
val
日本語 = "日本語"
const
val
Italiano
=
"Italiano"
const
val
한국인 = "한국인"
const
val
Nederlands
=
"Nederlands"
const
val
繁體中文 = "繁體中文"
const
val
Türk
=
"Türk"
}
}
\ No newline at end of file
app/src/main/java/com/base/locationsharewhite/helper/BaseActivity.kt
View file @
3beaf72c
...
...
@@ -5,8 +5,11 @@ import android.content.Intent
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
androidx.viewbinding.ViewBinding
import
com.base.locationsharewhite.bean.ConstObject.appLanguageSp
import
com.base.locationsharewhite.bean.ConstObject.changeLanguageSp
import
com.base.locationsharewhite.ui.main.MainActivity
import
com.base.locationsharewhite.utils.ActivityLauncher
import
com.base.locationsharewhite.utils.LanguageUtils.changeAppLanguage
import
com.base.locationsharewhite.utils.LogEx
abstract
class
BaseActivity
<
T
:
ViewBinding
>
:
AppCompatActivity
()
{
...
...
@@ -54,34 +57,34 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
super
.
onResume
()
}
//
fun updateAppLanguage(
//
activityLanguage: String,
//
activityTag: String? = null,
//
activityChangeCallback: ((language: String) -> Unit)? = null
//
): Boolean {
//
LogEx.logDebug(
//
TAG,
//
"activityTag=$activityTag " +
//
"appLanguageSp=$appLanguageSp " +
//
"changeLanguageSp=$changeLanguageSp " +
//
"activityLanguage=$activityLanguage"
//
)
//
var isRecreate = false
//
//
if (appLanguageSp != changeLanguageSp || activityLanguage != changeLanguageSp) {
//
//
changeAppLanguage(this, changeLanguageSp)
//
// Restart the app
//
appLanguageSp = changeLanguageSp
//
activityChangeCallback?.invoke(changeLanguageSp)
//
LogEx.logDebug(TAG, "activityTag=$activityTag recreate")
//
isRecreate = true
//
//
//https://stackoverflow.com/questions/63209993/getting-lifecycle-exception-while-recreating-the-activity
//
//MIUI recreate
//
this@BaseActivity.recreate()
//
}
//
return isRecreate
//
}
fun
updateAppLanguage
(
activityLanguage
:
String
,
activityTag
:
String
?
=
null
,
activityChangeCallback
:
((
language
:
String
)
->
Unit
)?
=
null
):
Boolean
{
LogEx
.
logDebug
(
TAG
,
"activityTag=$activityTag "
+
"appLanguageSp=$appLanguageSp "
+
"changeLanguageSp=$changeLanguageSp "
+
"activityLanguage=$activityLanguage"
)
var
isRecreate
=
false
if
(
appLanguageSp
!=
changeLanguageSp
||
activityLanguage
!=
changeLanguageSp
)
{
changeAppLanguage
(
this
,
changeLanguageSp
)
// Restart the app
appLanguageSp
=
changeLanguageSp
activityChangeCallback
?.
invoke
(
changeLanguageSp
)
LogEx
.
logDebug
(
TAG
,
"activityTag=$activityTag recreate"
)
isRecreate
=
true
//https://stackoverflow.com/questions/63209993/getting-lifecycle-exception-while-recreating-the-activity
//MIUI recreate
this
@BaseActivity
.
recreate
()
}
return
isRecreate
}
}
\ No newline at end of file
app/src/main/java/com/base/locationsharewhite/helper/MyApplication.kt
View file @
3beaf72c
...
...
@@ -20,8 +20,11 @@ class MyApplication : Application() {
lateinit
var
context
:
MyApplication
var
splashLanguage
:
String
=
Locale
.
getDefault
().
language
var
mainLanguage
:
String
=
Locale
.
getDefault
().
language
var
splashLanguage
:
String
=
Locale
.
getDefault
().
language
+
"_"
+
Locale
.
getDefault
().
country
var
mainLanguage
:
String
=
Locale
.
getDefault
().
language
+
"_"
+
Locale
.
getDefault
().
country
var
setLanguage
:
String
=
Locale
.
getDefault
().
language
+
"_"
+
Locale
.
getDefault
().
country
var
settingsLanguage
:
String
=
Locale
.
getDefault
().
language
+
"_"
+
Locale
.
getDefault
().
country
var
umpCanAd
:
Boolean
=
true
@JvmField
...
...
app/src/main/java/com/base/locationsharewhite/ui/howuse/HowUseShareActivity.kt
View file @
3beaf72c
...
...
@@ -52,7 +52,6 @@ class HowUseShareActivity : BaseActivity<ActivityHowUseShareBinding>() {
}
override
fun
onPageSelected
(
position
:
Int
)
{
LogEx
.
logDebug
(
"banner"
,
"position=$position"
)
if
(
position
==
0
)
{
step1ui
()
}
else
{
...
...
app/src/main/java/com/base/locationsharewhite/ui/main/MainActivity.kt
View file @
3beaf72c
...
...
@@ -5,6 +5,7 @@ import android.graphics.Color
import
androidx.core.view.updatePadding
import
com.base.locationsharewhite.databinding.ActivityMainBinding
import
com.base.locationsharewhite.helper.BaseActivity
import
com.base.locationsharewhite.helper.MyApplication
import
com.base.locationsharewhite.ui.howuse.HowUseActivity
import
com.base.locationsharewhite.ui.locationmap.LocationMapActivity
import
com.base.locationsharewhite.ui.set.SettingActivity
...
...
@@ -41,4 +42,14 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
startActivity
(
Intent
(
this
,
SettingActivity
::
class
.
java
))
}
}
override
fun
onResume
()
{
super
.
onResume
()
val
isRecreate
=
updateAppLanguage
(
MyApplication
.
mainLanguage
)
{
MyApplication
.
mainLanguage
=
it
}
if
(
isRecreate
)
{
return
}
}
}
\ No newline at end of file
app/src/main/java/com/base/locationsharewhite/ui/set/LanguageActivity.kt
View file @
3beaf72c
package
com.base.locationsharewhite.ui.set
import
android.graphics.Color
import
androidx.core.view.updatePadding
import
com.base.locationsharewhite.bean.ConstObject
import
com.base.locationsharewhite.bean.ConstObject.appLanguageSp
import
com.base.locationsharewhite.bean.LanguageBean
import
com.base.locationsharewhite.databinding.ActivityLanguageBinding
import
com.base.locationsharewhite.helper.BaseActivity
import
com.base.locationsharewhite.helper.MyApplication
import
com.base.locationsharewhite.utils.BarUtils
import
java.util.Locale
class
LanguageActivity
:
BaseActivity
<
ActivityLanguageBinding
>()
{
private
val
TAG
=
"LanguageActivity"
private
lateinit
var
adapter
:
LanguageAdapter
override
val
binding
:
ActivityLanguageBinding
by
lazy
{
ActivityLanguageBinding
.
inflate
(
layoutInflater
)
}
override
fun
initView
()
{
BarUtils
.
setStatusBarLightMode
(
this
,
true
)
BarUtils
.
setStatusBarColor
(
this
,
Color
.
WHITE
)
binding
.
root
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
adapter
=
LanguageAdapter
(
click
=
{
})
binding
.
rv
.
adapter
=
adapter
initData
()
}
private
fun
initData
()
{
val
languageBeanList
=
listOf
(
LanguageBean
(
LanguageBean
.
English
,
Locale
.
ENGLISH
.
language
,
Locale
.
ENGLISH
.
country
),
LanguageBean
(
LanguageBean
.
简体中文
,
Locale
.
CHINA
.
language
,
Locale
.
CHINA
.
country
),
LanguageBean
(
LanguageBean
.
português
,
Locale
(
"pt"
,
"BR"
).
language
,
Locale
(
"pt"
,
"BR"
).
country
),
LanguageBean
(
LanguageBean
.
Español
,
Locale
(
"es"
).
language
,
Locale
(
"es"
).
country
),
LanguageBean
(
LanguageBean
.
Français
,
Locale
.
FRENCH
.
language
,
Locale
.
FRENCH
.
country
),
LanguageBean
(
LanguageBean
.
Deutsch
,
Locale
.
GERMAN
.
language
,
Locale
.
GERMAN
.
country
),
LanguageBean
(
LanguageBean
.
ไทย
,
Locale
(
"th"
,
"TH"
).
language
,
Locale
(
"th"
,
"TH"
).
country
),
LanguageBean
(
LanguageBean
.
Bahasa_Indonesia
,
Locale
(
"in"
,
"ID"
).
language
,
Locale
(
"in"
,
"ID"
).
country
),
LanguageBean
(
LanguageBean
.
Melayu
,
Locale
(
"ms"
,
"MY"
).
language
,
Locale
(
"ms"
,
"MY"
).
country
),
LanguageBean
(
LanguageBean
.
Tiếng_Việt
,
Locale
(
"vi"
,
"VN"
).
language
,
Locale
(
"vi"
,
"VN"
).
country
),
LanguageBean
(
LanguageBean
.
日本語
,
Locale
.
JAPAN
.
language
,
Locale
.
JAPAN
.
country
),
LanguageBean
(
LanguageBean
.
Italiano
,
Locale
.
ITALY
.
language
,
Locale
.
ITALY
.
country
),
LanguageBean
(
LanguageBean
.
한국인
,
Locale
.
KOREAN
.
language
,
Locale
.
KOREAN
.
country
),
LanguageBean
(
LanguageBean
.
Nederlands
,
Locale
(
"nl"
,
"NL"
).
language
,
Locale
(
"nl"
,
"NL"
).
country
),
LanguageBean
(
LanguageBean
.
繁體中文
,
Locale
.
TRADITIONAL_CHINESE
.
language
,
Locale
.
TRADITIONAL_CHINESE
.
country
),
LanguageBean
(
LanguageBean
.
Türk
,
Locale
(
"tr"
,
"TR"
).
language
,
Locale
(
"tr"
,
"TR"
).
country
),
)
val
spLC
=
appLanguageSp
.
split
(
"_"
)
if
(
spLC
.
size
==
2
)
{
//匹配语言和国家
languageBeanList
.
findLast
{
it
.
language
==
spLC
[
0
]
&&
it
.
country
==
spLC
[
1
]
}
?.
isSelect
=
true
}
else
{
//匹配语言
languageBeanList
.
findLast
{
it
.
language
==
spLC
[
0
]
}
?.
isSelect
=
true
}
adapter
.
submitList
(
languageBeanList
)
}
override
fun
initListener
()
{
super
.
initListener
()
binding
.
tvNext
.
setOnClickListener
{
val
selectLanguage
=
adapter
.
items
.
findLast
{
it
.
isSelect
}
?.
language
selectLanguage
?:
return
@setOnClickListener
ConstObject
.
changeLanguageSp
=
selectLanguage
finish
()
}
}
override
fun
onResume
()
{
super
.
onResume
()
val
isRecreate
=
updateAppLanguage
(
MyApplication
.
setLanguage
,
TAG
)
{
MyApplication
.
setLanguage
=
it
}
if
(
isRecreate
)
{
return
}
}
}
\ No newline at end of file
app/src/main/java/com/base/locationsharewhite/ui/set/LanguageAdapter.kt
0 → 100644
View file @
3beaf72c
package
com.base.locationsharewhite.ui.set
import
android.annotation.SuppressLint
import
android.content.Context
import
android.view.View
import
android.view.ViewGroup
import
androidx.recyclerview.widget.RecyclerView
import
com.base.locationsharewhite.R
import
com.base.locationsharewhite.bean.LanguageBean
import
com.base.locationsharewhite.databinding.ItemLanguageBinding
import
com.base.locationsharewhite.ui.views.XmlEx.inflate
import
com.chad.library.adapter4.BaseQuickAdapter
class
LanguageAdapter
(
val
click
:
(
item
:
LanguageBean
)
->
Unit
)
:
BaseQuickAdapter
<
LanguageBean
,
LanguageAdapter
.
LanguageViewHolder
>()
{
inner
class
LanguageViewHolder
(
view
:
View
)
:
RecyclerView
.
ViewHolder
(
view
)
@SuppressLint
(
"NotifyDataSetChanged"
)
override
fun
onBindViewHolder
(
holder
:
LanguageViewHolder
,
position
:
Int
,
item
:
LanguageBean
?)
{
item
?:
return
val
binding
=
ItemLanguageBinding
.
bind
(
holder
.
itemView
)
binding
.
tv
.
text
=
item
.
key
binding
.
fl
.
isSelected
=
item
.
isSelect
binding
.
root
.
setOnClickListener
{
items
.
map
{
it
.
isSelect
=
false
}
item
.
isSelect
=
true
notifyDataSetChanged
()
click
.
invoke
(
item
)
}
}
override
fun
onCreateViewHolder
(
context
:
Context
,
parent
:
ViewGroup
,
viewType
:
Int
):
LanguageViewHolder
{
return
LanguageViewHolder
(
R
.
layout
.
item_language
.
inflate
(
parent
))
}
}
\ No newline at end of file
app/src/main/java/com/base/locationsharewhite/ui/set/SettingActivity.kt
View file @
3beaf72c
...
...
@@ -6,9 +6,11 @@ import androidx.activity.addCallback
import
androidx.core.view.updatePadding
import
com.base.locationsharewhite.databinding.ActivitySettingBinding
import
com.base.locationsharewhite.helper.BaseActivity
import
com.base.locationsharewhite.helper.MyApplication
import
com.base.locationsharewhite.utils.BarUtils
class
SettingActivity
:
BaseActivity
<
ActivitySettingBinding
>()
{
private
val
TAG
=
"SettingActivity"
override
val
binding
:
ActivitySettingBinding
by
lazy
{
ActivitySettingBinding
.
inflate
(
layoutInflater
)
...
...
@@ -31,6 +33,19 @@ class SettingActivity : BaseActivity<ActivitySettingBinding>() {
binding
.
llFeedback
.
setOnClickListener
{
startActivity
(
Intent
(
this
,
FeedbackActivity
::
class
.
java
))
}
binding
.
llLanguage
.
setOnClickListener
{
startActivity
(
Intent
(
this
,
LanguageActivity
::
class
.
java
))
}
}
override
fun
onResume
()
{
super
.
onResume
()
val
isRecreate
=
updateAppLanguage
(
MyApplication
.
settingsLanguage
,
TAG
)
{
MyApplication
.
settingsLanguage
=
it
}
if
(
isRecreate
)
{
return
}
}
}
\ No newline at end of file
app/src/main/java/com/base/locationsharewhite/utils/LanguageUtils.kt
0 → 100644
View file @
3beaf72c
package
com.base.locationsharewhite.utils
import
android.content.Context
import
android.os.LocaleList
import
java.util.Locale
object
LanguageUtils
{
fun
getSystemLanguage
():
String
{
return
Locale
.
getDefault
().
language
}
val
supportLanguage
=
listOf
(
Locale
.
ENGLISH
.
language
,
Locale
.
PRC
.
language
,
Locale
(
"pt"
,
"BR"
).
language
,
Locale
(
"es"
).
language
,
Locale
.
FRENCH
.
language
,
Locale
(
"de"
).
language
,
Locale
(
"th"
,
"TH"
).
language
,
Locale
(
"in"
,
"ID"
).
language
,
Locale
(
"ms"
,
"MY"
).
language
,
Locale
(
"vi"
,
"VN"
).
language
,
Locale
(
"ja"
,
"JP"
).
language
,
Locale
(
"it"
,
"IT"
).
language
,
Locale
(
"ko"
,
"KR"
).
language
,
Locale
(
"nl"
,
"NL"
).
language
,
Locale
(
"zh"
,
"TW"
).
language
,
Locale
(
"tr"
,
"TR"
).
language
)
fun
getSystemLanguageDefault
():
String
{
var
systemLanguage
=
getSystemLanguage
()
if
(!
supportLanguage
.
contains
(
systemLanguage
))
{
systemLanguage
=
Locale
.
ENGLISH
.
language
}
return
systemLanguage
}
fun
isSupportSystemLanguage
():
Boolean
{
return
supportLanguage
.
contains
(
getSystemLanguage
())
}
fun
changeAppLanguage
(
context
:
Context
,
languageCountry
:
String
)
{
val
config
=
context
.
resources
.
configuration
val
lc
=
languageCountry
.
split
(
"_"
)
val
locale
=
if
(
lc
.
size
==
2
)
{
Locale
(
lc
[
0
],
lc
[
1
])
}
else
{
Locale
(
lc
[
0
])
}
//Android 7.0以上的方法
config
.
setLocale
(
locale
)
config
.
setLocales
(
LocaleList
(
locale
))
context
.
createConfigurationContext
(
config
)
context
.
resources
.
updateConfiguration
(
config
,
context
.
resources
.
displayMetrics
)
}
}
\ No newline at end of file
app/src/main/res/color/color_language_text.xml
0 → 100644
View file @
3beaf72c
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:color=
"#03B988"
android:state_selected=
"true"
/>
<item
android:color=
"#0C2A22"
android:state_selected=
"false"
/>
</selector>
\ No newline at end of file
app/src/main/res/drawable/bg_language_selector.xml
0 → 100644
View file @
3beaf72c
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:drawable=
"@drawable/bg_stroke_03b988_15_3"
android:state_selected=
"true"
/>
<item
android:drawable=
"@drawable/bg_stroke_0c2a22_15_3"
android:state_selected=
"false"
/>
</selector>
\ No newline at end of file
app/src/main/res/drawable/bg_stroke_03b988_15_3.xml
0 → 100644
View file @
3beaf72c
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<stroke
android:width=
"3dp"
android:color=
"#03B988"
/>
<corners
android:radius=
"15dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/bg_stroke_0c2a22_15_3.xml
0 → 100644
View file @
3beaf72c
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<stroke
android:width=
"3dp"
android:color=
"#0C2A22"
/>
<corners
android:radius=
"15dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/activity_language.xml
View file @
3beaf72c
...
...
@@ -21,7 +21,8 @@
app:layout_constraintTop_toTopOf=
"parent"
/>
<LinearLayout
android:layout_width=
"75dp"
android:id=
"@+id/tv_next"
android:layout_width=
"wrap_content"
android:layout_height=
"38dp"
android:layout_marginEnd=
"16dp"
android:background=
"@drawable/bg_03b988_19"
...
...
@@ -30,6 +31,7 @@
app:layout_constraintTop_toTopOf=
"@id/tv"
>
<TextView
android:paddingStart=
"8dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
...
...
@@ -53,8 +55,12 @@
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv"
android:layout_marginTop=
"8dp"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:overScrollMode=
"never"
android:paddingVertical=
"16dp"
app:layoutManager=
"androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
...
...
app/src/main/res/layout/activity_setting.xml
View file @
3beaf72c
...
...
@@ -53,7 +53,7 @@
android:textSize=
"28sp"
/>
<LinearLayout
android:layout_width=
"
106dp
"
android:layout_width=
"
wrap_content
"
android:layout_height=
"38dp"
android:layout_gravity=
"center_vertical|end"
android:layout_marginEnd=
"16dp"
...
...
@@ -73,6 +73,7 @@
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"8dp"
android:layout_marginEnd=
"8dp"
android:text=
"@string/rename"
android:textColor=
"#08C95C"
android:textSize=
"17sp"
/>
...
...
app/src/main/res/layout/item_language.xml
View file @
3beaf72c
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/fl"
android:layout_width=
"185dp"
android:layout_height=
"76dp"
android:layout_margin=
"8dp"
android:background=
"@drawable/bg_language_selector"
>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<TextView
android:id=
"@+id/tv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:textColor=
"@color/color_language_text"
android:textSize=
"18sp"
android:textStyle=
"bold"
tools:text=
"English"
/>
</FrameLayout>
\ No newline at end of file
app/src/main/res/values-zh-rCN/strings.xml
0 → 100644
View file @
3beaf72c
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources>
<string
name=
"moment_please_s"
>
请时刻...%1$d%%
</string>
<string
name=
"friend_location_map"
>
朋友位置图
</string>
<string
name=
"view_friend_locations_on_the_map"
>
在地图上查看好友位置
</string>
<string
name=
"my_location_code"
>
我的位置代码
</string>
<string
name=
"share_my_location"
>
分享我的位置
</string>
<string
name=
"how_to_use"
>
如何使用?
</string>
<string
name=
"settings"
>
设置
</string>
<string
name=
"friends"
>
朋友们
</string>
<string
name=
"friend_tips"
>
当您将位置代码发送给朋友并粘贴该代码以成功共享位置时,大约需要 1-10 分钟才能建立位置共享链接。请耐心等待!
</string>
<string
name=
"got_it"
>
知道了
</string>
<string
name=
"do_not_show_again"
>
不再显示
</string>
<string
name=
"no_friend_location_information"
>
没有好友位置信息
</string>
<string
name=
"street_map"
>
街道地图
</string>
<string
name=
"statellite_map"
>
卫星地图
</string>
<string
name=
"location_code_tips"
>
复制下面的位置代码并将其发送给朋友。当您的朋友将位置代码粘贴到应用程序中并单击“共享”时,您就可以获得他们的位置。
</string>
<string
name=
"copy"
>
复制
</string>
<string
name=
"location_code_share_tips"
>
请您的朋友向您发送位置代码。\n然后将您朋友的位置代码粘贴到下面,\n单击共享按钮共享您的位置。\n
</string>
<string
name=
"enter_others_location_code"
>
输入其他\n位置代码
</string>
<string
name=
"share_my_location_da"
>
分享我的位置
</string>
<string
name=
"what_do_you_want_to_do"
>
你想让我做什么?
</string>
<string
name=
"share_my_nlocation"
>
分享我的\n位置
</string>
<string
name=
"view_others_nlocation"
>
查看其他\n位置
</string>
<string
name=
"how_to_share_my_location"
>
如何分享我的位置?
</string>
<string
name=
"just_2_steps"
>
只需 2 步
</string>
<string
name=
"how_share_location_step_1"
>
1. 请您的朋友向您发送位置代码。
</string>
<string
name=
"how_share_location_step_2"
>
2. 然后在下面粘贴您朋友的位置代码,然后单击共享按钮共享您的位置。
</string>
<string
name=
"more_two_use"
>
温馨提示:需要两人以上同时下载AP才能使用
</string>
<string
name=
"next"
>
下一个
</string>
<string
name=
"let_s_go"
>
我们走吧
</string>
<string
name=
"how_to_view_others_location"
>
如何查看别人的位置?
</string>
<string
name=
"how_view_other_step_1"
>
1. 复制下面的位置代码并将其发送给朋友。\n
</string>
<string
name=
"how_view_other_step_2"
>
2.当您的朋友在应用中粘贴LLocation\n代码并点击分享时,您就可以获得他们的位置\n
</string>
<string
name=
"hello_ndefault"
>
您好,\n默认!
</string>
<string
name=
"rename"
>
重命名
</string>
<string
name=
"language"
>
语言
</string>
<string
name=
"rate_us"
>
评价我们
</string>
<string
name=
"feedback"
>
反馈
</string>
<string
name=
"about_us"
>
关于我们
</string>
<string
name=
"share_app"
>
分享应用程序
</string>
<string
name=
"enter_your_suggestion_please"
>
请输入您的建议
</string>
<string
name=
"within_500_characters"
>
500字以内
</string>
<string
name=
"thanks_for_your_feedback"
>
感谢您的反馈
</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