diff --git a/app/build.gradle b/app/build.gradle index 0767a30..a06f8bf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,7 +30,7 @@ android { targetSdkVersion 35 versionCode 2202 // versionName "2.2.2" - versionName "2.2.2-Beta3" + versionName "2.2.2-Beta4" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/data/RouteV3Fragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/data/RouteV3Fragment.kt index f23db0c..0f7c1e8 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/data/RouteV3Fragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/data/RouteV3Fragment.kt @@ -75,28 +75,36 @@ class RouteV3Fragment : BaseFragment(FragmentRouteV3Bind // private var isFirst = true private var mProgress = 0 - //原来有列表一个元素的高度 - private var mLastScrollViewHeight = 0 - - private var mTotalHeight = 0 - private lateinit var mHistoryFenceAdapter: HistoryFenceAdapter private val mAllHistoryFenceList = mutableListOf() //充值续费或升级返回类型 private var mRechargeBackType = ConstantInt.SpecialType - //列表是否展开 + //列表是否滑到顶部展开 private var isListExpand = false //判断是否滑过 private var isHaveSlide = false + + //手指滑动的y坐标点 private var mLastY = 0f + + //手指滑动时布局移动高度 private var mDiffHeight = 0 //是否上滑 private var isSlideUp = false + //布局可以滑的总高度 + private var mTotalHeight = 0 + + //底部列表有一个元素的高度+日历的高度 + private var mLastScrollViewHeight = 0 + + //选择日期布局的高度(包括有SeekBar的高度) + private var mCalendarLayoutHaveSeekBarHeight = 0 + // private lateinit var mTopSlideLayoutManager: TopSlideLayoutManager companion object { @@ -148,6 +156,7 @@ class RouteV3Fragment : BaseFragment(FragmentRouteV3Bind if (rlMapRouteLineV3TimeLayout.isVisible) { if (mTotalHeight == 0) { mTotalHeight = cvHomeRouteV3Card.height + svHomeRouteMapScroll.height + mCalendarLayoutHaveSeekBarHeight = rlHomeRouteCalendarV3Layout.height mLastScrollViewHeight = svHomeRouteMapScroll.height } @@ -178,13 +187,20 @@ class RouteV3Fragment : BaseFragment(FragmentRouteV3Bind MotionEvent.ACTION_UP -> { LogUtil.e("ACTION_UP") -// val layoutParams = svHomeRouteMapScroll.layoutParams if (mDiffHeight > mTotalHeight / 2) { setSeekBarShowHide(false) -// layoutParams.height = mTotalHeight -// svHomeRouteMapScroll.layoutParams = layoutParams - animateViewHeight(svHomeRouteMapScroll, mTotalHeight) isListExpand = true + if (isSlideUp) { + animateViewHeight(svHomeRouteMapScroll, mTotalHeight) + } else { + animateViewHeight(svHomeRouteMapScroll, mTotalHeight / 2) + svHomeRouteMapScroll.postDelayed( + { + //重新设置地图缩放级别 + mHistoryDataMapCommon.setLatLngData(mHistoryDataList) + }, 500 + ) + } } else { if (mDiffHeight > mLastScrollViewHeight) { val height = if (isSlideUp) { @@ -203,11 +219,13 @@ class RouteV3Fragment : BaseFragment(FragmentRouteV3Bind } mLastScrollViewHeight } - animateViewHeight(svHomeRouteMapScroll, height, 300) + animateViewHeight(svHomeRouteMapScroll, height) } -// svHomeRouteMapScroll.layoutParams = layoutParams svHomeRouteMapScroll.postDelayed( - { mHistoryDataMapCommon.setLatLngData(mHistoryDataList) }, 500 + { + //重新设置地图缩放级别 + mHistoryDataMapCommon.setLatLngData(mHistoryDataList) + }, 500 ) } } @@ -235,7 +253,7 @@ class RouteV3Fragment : BaseFragment(FragmentRouteV3Bind initState() } - private fun animateViewHeight(view: View, targetHeight: Int, duration: Long = 500) { + private fun animateViewHeight(view: View, targetHeight: Int, duration: Long = 300) { val animator = ValueAnimator.ofInt(view.height, targetHeight) animator.duration = duration // 设置动画持续时间 animator.interpolator = LinearInterpolator() // 设置插值器 @@ -387,18 +405,23 @@ class RouteV3Fragment : BaseFragment(FragmentRouteV3Bind } } else { mViewBinding.rlMapRouteLineV3TimeLayout.visibility = View.GONE - val lastScrollViewNoListHeight = - mViewBinding.rlHomeRouteCalendarV3Layout.height if (isHaveSlide) { + val lastScrollViewNoListHeight = + mViewBinding.rlHomeRouteCalendarV3Layout.height val layoutParams = mViewBinding.svHomeRouteMapScroll.layoutParams - layoutParams.height = lastScrollViewNoListHeight + layoutParams.height = + if (mViewBinding.vsbMapRouteLineV3.isVisible) mCalendarLayoutHaveSeekBarHeight + else lastScrollViewNoListHeight mViewBinding.svHomeRouteMapScroll.layoutParams = layoutParams } isListExpand = false } if (mViewBinding.cvHomeRouteV3Card.height > 0) mViewBinding.svHomeRouteMapScroll.postDelayed( - { mHistoryDataMapCommon.setLatLngData(mHistoryDataList) }, 200 + { + //重新设置地图缩放级别 + mHistoryDataMapCommon.setLatLngData(mHistoryDataList) + }, 200 ) } } @@ -508,7 +531,9 @@ class RouteV3Fragment : BaseFragment(FragmentRouteV3Bind vsbMapRouteLineV3.visibility = View.VISIBLE ivMapRouteLineV3LastBtn.visibility = View.VISIBLE ivMapRouteLineV3NextBtn.visibility = View.VISIBLE + LogUtil.e("显示") } else { + LogUtil.e("隐藏") vsbMapRouteLineV3.visibility = View.GONE ivMapRouteLineV3LastBtn.visibility = View.GONE ivMapRouteLineV3NextBtn.visibility = View.GONE diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt index 1188689..883c399 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt @@ -859,7 +859,7 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i if (SRBleUtil.instance.isMacConnect(pet.macID)) { showToast(R.string.txt_pet_close, gravity = Gravity.CENTER) } else if (null != mMapDeviceBean && mMapDeviceBean!!.powerSwitch == ConstantInt.Type2) { - val string = String.format(getString(R.string.txt_move_wake), pet.petName) + val string = String.format(getString(R.string.txt_move_wake_up), pet.petName) showToast(string, gravity = Gravity.CENTER) } else if (!isCanLive) { showToast(R.string.txt_locate_works, gravity = Gravity.CENTER) @@ -956,7 +956,7 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i ) ViewUtil.instance.addMenuBean( mapList, - getString(R.string.map_navigate_map_baidu), + getString(R.string.map_baidu_map), mMapBaiduPackageName, R.drawable.ico_map_gaode ) diff --git a/app/src/main/java/com/abbidot/tracker/vm/MapViewModel.kt b/app/src/main/java/com/abbidot/tracker/vm/MapViewModel.kt index e4bd030..1520286 100644 --- a/app/src/main/java/com/abbidot/tracker/vm/MapViewModel.kt +++ b/app/src/main/java/com/abbidot/tracker/vm/MapViewModel.kt @@ -454,7 +454,7 @@ class MapViewModel : ViewModel() { R.drawable.icon_device_sleep_image, 0, 0, 0 ) it.text = String.format( - context.getString(R.string.txt_fully_asleep), + context.getString(R.string.txt_fell_asleep), getTimeDifference(updateTime * 1000, System.currentTimeMillis()) ) ViewUtil.instance.viewShow(closeBtn) diff --git a/app/src/main/res/layout/fragment_route_v3.xml b/app/src/main/res/layout/fragment_route_v3.xml index 60ddf90..2412c95 100644 --- a/app/src/main/res/layout/fragment_route_v3.xml +++ b/app/src/main/res/layout/fragment_route_v3.xml @@ -53,7 +53,6 @@ android:id="@+id/rl_home_route_calendar_v3_layout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginHorizontal="@dimen/dp_8" android:background="@drawable/shape_home_route_calendar_bg" android:padding="@dimen/dp_12"> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4494287..db7c409 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1073,9 +1073,9 @@ Pull to load more Release to load Fully charged - Fell asleep %s ago - Move %s to wake up - Baidu Map + Fell asleep %s ago + Move %s to wake up + Baidu Map Timeline Keep phone close to device