Commit 3494eae8 authored by wanglei's avatar wanglei

init

parent 7e78de00
...@@ -13,7 +13,12 @@ ...@@ -13,7 +13,12 @@
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.LocationShareWhite" android:theme="@style/Theme.LocationShareWhite"
tools:targetApi="34"> tools:targetApi="34">
<activity
android:name=".ui.main.SettingActivity"
android:exported="false" />
<activity
android:name=".ui.howuse.HowViewOtherActivity"
android:exported="false" />
<meta-data <meta-data
android:name="com.google.android.geo.API_KEY" android:name="com.google.android.geo.API_KEY"
...@@ -30,11 +35,11 @@ ...@@ -30,11 +35,11 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity <activity
android:name=".ui.main.MainActivity"
android:exported="false"
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" tools:ignore="DiscouragedApi,LockedOrientationActivity" />
android:name=".ui.main.MainActivity"
android:exported="false" />
<activity <activity
android:name=".ui.howuse.HowUseActivity" android:name=".ui.howuse.HowUseActivity"
android:exported="false" android:exported="false"
......
...@@ -32,6 +32,9 @@ class HowUseActivity : BaseActivity<ActivityHowUseBinding>() { ...@@ -32,6 +32,9 @@ class HowUseActivity : BaseActivity<ActivityHowUseBinding>() {
binding.flShareLocation.setOnClickListener { binding.flShareLocation.setOnClickListener {
startActivity(Intent(this, HowUseShareActivity::class.java)) startActivity(Intent(this, HowUseShareActivity::class.java))
} }
binding.flViewLocation.setOnClickListener {
startActivity(Intent(this, HowViewOtherActivity::class.java))
}
} }
......
...@@ -9,6 +9,9 @@ import com.base.locationsharewhite.bean.BannerBean ...@@ -9,6 +9,9 @@ import com.base.locationsharewhite.bean.BannerBean
import com.base.locationsharewhite.databinding.ActivityHowUseShareBinding import com.base.locationsharewhite.databinding.ActivityHowUseShareBinding
import com.base.locationsharewhite.helper.BaseActivity import com.base.locationsharewhite.helper.BaseActivity
import com.base.locationsharewhite.utils.BarUtils import com.base.locationsharewhite.utils.BarUtils
import com.base.locationsharewhite.utils.LogEx
import com.youth.banner.listener.OnBannerListener
import com.youth.banner.listener.OnPageChangeListener
import com.youth.banner.util.BannerUtils import com.youth.banner.util.BannerUtils
class HowUseShareActivity : BaseActivity<ActivityHowUseShareBinding>() { class HowUseShareActivity : BaseActivity<ActivityHowUseShareBinding>() {
...@@ -43,6 +46,24 @@ class HowUseShareActivity : BaseActivity<ActivityHowUseShareBinding>() { ...@@ -43,6 +46,24 @@ class HowUseShareActivity : BaseActivity<ActivityHowUseShareBinding>() {
binding.indicator.indicatorConfig.height = resources.getDimensionPixelSize(R.dimen.dp_5) binding.indicator.indicatorConfig.height = resources.getDimensionPixelSize(R.dimen.dp_5)
binding.indicator.indicatorConfig.selectedWidth = resources.getDimensionPixelSize(R.dimen.dp_25) binding.indicator.indicatorConfig.selectedWidth = resources.getDimensionPixelSize(R.dimen.dp_25)
binding.indicator.indicatorConfig.normalWidth = resources.getDimensionPixelSize(R.dimen.dp_5) binding.indicator.indicatorConfig.normalWidth = resources.getDimensionPixelSize(R.dimen.dp_5)
binding.banner.addOnPageChangeListener(object : OnPageChangeListener {
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
}
override fun onPageSelected(position: Int) {
LogEx.logDebug("banner", "position=$position")
if (position == 0) {
step1ui()
} else {
step2ui()
}
}
override fun onPageScrollStateChanged(state: Int) {
}
})
} }
...@@ -67,14 +88,18 @@ class HowUseShareActivity : BaseActivity<ActivityHowUseShareBinding>() { ...@@ -67,14 +88,18 @@ class HowUseShareActivity : BaseActivity<ActivityHowUseShareBinding>() {
private fun step1ui() { private fun step1ui() {
uiType = 1 uiType = 1
binding.tvStep.text = resources.getString(R.string.how_share_location_step_1) binding.tvStep.text = resources.getString(R.string.how_share_location_step_1)
if (binding.banner.currentItem != 0) {
binding.banner.currentItem = 0 binding.banner.currentItem = 0
}
binding.tvBtn.text = getString(R.string.next) binding.tvBtn.text = getString(R.string.next)
} }
private fun step2ui() { private fun step2ui() {
uiType = 2 uiType = 2
binding.tvStep.text = resources.getString(R.string.how_share_location_step_2) binding.tvStep.text = resources.getString(R.string.how_share_location_step_2)
if (binding.banner.currentItem != 1) {
binding.banner.currentItem = 1 binding.banner.currentItem = 1
}
binding.tvBtn.text = getString(R.string.let_s_go) binding.tvBtn.text = getString(R.string.let_s_go)
} }
} }
\ No newline at end of file
package com.base.locationsharewhite.ui.howuse
import android.graphics.Color
import androidx.activity.addCallback
import androidx.core.view.updatePadding
import androidx.viewpager2.widget.MarginPageTransformer
import com.base.locationsharewhite.R
import com.base.locationsharewhite.bean.BannerBean
import com.base.locationsharewhite.databinding.ActivityHowViewOtherBinding
import com.base.locationsharewhite.helper.BaseActivity
import com.base.locationsharewhite.utils.BarUtils
import com.base.locationsharewhite.utils.LogEx
import com.youth.banner.listener.OnPageChangeListener
import com.youth.banner.util.BannerUtils
class HowViewOtherActivity : BaseActivity<ActivityHowViewOtherBinding>() {
private lateinit var adapter: ImageBannerAdapter
override val binding: ActivityHowViewOtherBinding by lazy {
ActivityHowViewOtherBinding.inflate(layoutInflater)
}
override fun initView() {
BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.WHITE)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
initBanner()
step1ui()
}
private fun initBanner() {
adapter = ImageBannerAdapter(
listOf(
BannerBean(R.mipmap.how_view_tu3),
BannerBean(R.mipmap.how_view_tu4)
)
)
binding.banner.setAdapter(adapter)
binding.banner.isAutoLoop(false)
binding.banner.addBannerLifecycleObserver(this)
binding.banner.setIndicator(binding.indicator, false)
binding.banner.setPageTransformer(MarginPageTransformer(BannerUtils.dp2px(10f)))
binding.indicator.indicatorConfig.height = resources.getDimensionPixelSize(R.dimen.dp_5)
binding.indicator.indicatorConfig.selectedWidth = resources.getDimensionPixelSize(R.dimen.dp_25)
binding.indicator.indicatorConfig.normalWidth = resources.getDimensionPixelSize(R.dimen.dp_5)
binding.banner.setOnBannerListener { data, position -> }
binding.banner.addOnPageChangeListener(object : OnPageChangeListener {
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
}
override fun onPageSelected(position: Int) {
LogEx.logDebug("banner", "position=$position")
if (position == 0) {
step1ui()
} else {
step2ui()
}
}
override fun onPageScrollStateChanged(state: Int) {
}
})
}
override fun initListener() {
super.initListener()
onBackPressedDispatcher.addCallback {
finish()
}
binding.flFanhui.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.tvBtn.setOnClickListener {
if (uiType == 1) {
step2ui()
} else {
}
}
}
private var uiType = 0
private fun step1ui() {
uiType = 1
binding.tvStep.text = resources.getString(R.string.how_view_other_step_1)
if (binding.banner.currentItem != 0) {
binding.banner.currentItem = 0
}
binding.tvBtn.text = getString(R.string.next)
}
private fun step2ui() {
uiType = 2
binding.tvStep.text = resources.getString(R.string.how_view_other_step_2)
if (binding.banner.currentItem != 1) {
binding.banner.currentItem = 1
}
binding.tvBtn.text = getString(R.string.let_s_go)
}
}
\ No newline at end of file
package com.base.locationsharewhite.ui.main
import com.base.locationsharewhite.databinding.ActivitySettingBinding
import com.base.locationsharewhite.helper.BaseActivity
class SettingActivity : BaseActivity<ActivitySettingBinding>() {
override val binding: ActivitySettingBinding by lazy {
ActivitySettingBinding.inflate(layoutInflater)
}
override fun initView() {
}
}
\ No newline at end of file
<?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:banner="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"
android:background="@color/white"
tools:context=".ui.howuse.HowUseShareActivity">
<FrameLayout
android:id="@+id/fl_fanhui"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
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/lv_fanhui"
tools:ignore="ContentDescription" />
</FrameLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/how_to_use"
android:textColor="#001725"
android:textSize="22sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/fl_fanhui"
app:layout_constraintStart_toEndOf="@id/fl_fanhui"
app:layout_constraintTop_toTopOf="@id/fl_fanhui" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintTop_toBottomOf="@id/fl_fanhui">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:text="@string/how_to_view_others_location"
android:textColor="#001D29"
android:textSize="20sp" />
<TextView
android:id="@+id/tv_step_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="14dp"
android:text="@string/just_2_steps"
android:textColor="#4D6068"
android:textSize="18sp" />
<TextView
android:id="@+id/tv_step"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="24dp"
android:layout_marginTop="36dp"
android:gravity="center_horizontal"
android:textColor="#7BB2E1"
tools:text="@string/how_view_other_step_2" />
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="220dp"
android:layout_margin="15dp"
app:banner_infinite_loop="false"
banner:banner_indicator_normal_color="#C5C5C5"
banner:banner_indicator_selected_color="#03B988"
banner:banner_radius="5dp" />
<com.youth.banner.indicator.RectangleIndicator
android:id="@+id/indicator"
android:layout_width="wrap_content"
android:layout_height="15dp"
android:layout_gravity="center_horizontal"
banner:banner_indicator_height="10dp"
banner:banner_indicator_radius="2.5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="18dp"
android:layout_marginTop="16dp"
android:gravity="center"
android:text="@string/more_two_use"
android:textColor="#00101D"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_btn"
android:layout_width="345dp"
android:layout_height="50dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:background="@drawable/bg_03b988_10"
android:gravity="center"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
tools:text="Next" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?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=".ui.main.SettingActivity">
<FrameLayout
android:id="@+id/fl_fanhui"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
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/lv_fanhui"
tools:ignore="ContentDescription" />
</FrameLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/settings"
android:textColor="#001725"
android:textSize="22sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/fl_fanhui"
app:layout_constraintStart_toEndOf="@id/fl_fanhui"
app:layout_constraintTop_toTopOf="@id/fl_fanhui" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="88dp"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="40dp"
android:background="@mipmap/setbg"
app:layout_constraintTop_toBottomOf="@id/fl_fanhui">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="20dp"
android:text="@string/hello_ndefault"
android:textColor="@color/white" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -29,4 +29,8 @@ ...@@ -29,4 +29,8 @@
<string name="more_two_use">Reminder: Two or more people need to download the ap simultaneously to use it</string> <string name="more_two_use">Reminder: Two or more people need to download the ap simultaneously to use it</string>
<string name="next">Next</string> <string name="next">Next</string>
<string name="let_s_go">LET\'S GO</string> <string name="let_s_go">LET\'S GO</string>
<string name="how_to_view_others_location">How to view others location?</string>
<string name="how_view_other_step_1">1. Copy The Location Code Below And Send It To A Friend.\n</string>
<string name="how_view_other_step_2">2. When Your Friend Pastes The LLocation\nCode In The App And Clicks On Share, You Can Obtain Their Location\n</string>
<string name="hello_ndefault">Hello,\nDefault!</string>
</resources> </resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment