diff --git a/app/build.gradle b/app/build.gradle index f6c7943..3fb3204 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,9 +28,9 @@ android { applicationId "com.abbidot.tracker" minSdkVersion 24 targetSdkVersion 35 - versionCode 2601 -// versionName "2.6.1" - versionName "2.6.1-Beta4" + versionCode 2606 +// versionName "2.6.6" + versionName "2.6.6-Beta1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/abbidot/tracker/ui/common/map/HistoryDataMapCommon.kt b/app/src/main/java/com/abbidot/tracker/ui/common/map/HistoryDataMapCommon.kt index 1b45170..1c3fa92 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/common/map/HistoryDataMapCommon.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/common/map/HistoryDataMapCommon.kt @@ -119,6 +119,7 @@ class HistoryDataMapCommon : BaseMapCommon() { fun resetMarkerInfoViewOffset() { mHistoryDataGoogleMapFragment?.resetMarkerInfoViewOffset() + mHistoryDataBaiduMapFragment?.resetMarkerInfoViewOffset() } fun setPetUserLatLng() { diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/BaseBaiduMapFragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/BaseBaiduMapFragment.kt index 06e619f..5d571ea 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/BaseBaiduMapFragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/BaseBaiduMapFragment.kt @@ -24,15 +24,12 @@ import com.abbidot.tracker.R import com.abbidot.tracker.base.BaseFragment import com.abbidot.tracker.bean.FencesBean import com.abbidot.tracker.bean.HistoryDataBean -import com.abbidot.tracker.bean.MapDeviceBean import com.abbidot.tracker.constant.ConstantInt import com.abbidot.tracker.databinding.FragmentBaseBaiduMapBinding import com.abbidot.tracker.ui.fragment.map.googlemap.GoogleBitmapHelper import com.abbidot.tracker.util.ImageUtil import com.abbidot.tracker.util.LonAndLatUtil import com.abbidot.tracker.util.Util.Companion.safeRecycle -import com.abbidot.tracker.util.ViewUtil -import com.abbidot.tracker.widget.MapMarkerInfoView import com.abbidot.tracker.widget.TypefaceTextView import com.baidu.location.BDLocation import com.baidu.mapapi.map.BaiduMap @@ -939,31 +936,6 @@ abstract class BaseBaiduMapFragment : } - /** - * 设置Marker弹窗设备电量的位置 - */ - fun setMapDeviceBatteryOffset( - viewGroup: ViewGroup, latLng: LatLng, mapDeviceBean: MapDeviceBean - ) { - mBaiduMap?.projection?.toScreenLocation(latLng)?.let { - viewGroup.x = it.x.toFloat() - viewGroup.width / 2 + AppUtils.dpToPx(5) - viewGroup.y = it.y.toFloat() - AppUtils.dpToPx(56) - viewGroup.height - if (mapDeviceBean.canShowBattery && !mapDeviceBean.isCloseBattery) ViewUtil.instance.viewShow( - viewGroup - ) - } - } - - /** - * 设置Marker弹窗消息的位置 - */ - fun setMarkerInfoViewOffset(markerInfoView: MapMarkerInfoView, latLng: LatLng) { - mBaiduMap?.projection?.toScreenLocation(latLng)?.let { - ViewUtil.instance.viewShow(markerInfoView) - markerInfoView.setOffsetXY(it.x, it.y - AppUtils.dpToPx(56)) - } - } - /** * @param needConvertGCJ02 是否需要转换GCJ02坐标/国内火星坐标 */ diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HistoryDataBaiduMapFragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HistoryDataBaiduMapFragment.kt index ea33f51..8b9e5c0 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HistoryDataBaiduMapFragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HistoryDataBaiduMapFragment.kt @@ -6,7 +6,6 @@ import android.graphics.Typeface import android.view.MotionEvent import android.view.ViewGroup import androidx.appcompat.widget.AppCompatSeekBar -import androidx.core.view.isVisible import com.abbidot.baselibrary.constant.MMKVKey import com.abbidot.baselibrary.util.AppUtils import com.abbidot.baselibrary.util.LogUtil @@ -16,8 +15,10 @@ import com.abbidot.tracker.bean.HistoryDataBean import com.abbidot.tracker.bean.PetBean import com.abbidot.tracker.constant.ConstantInt import com.abbidot.tracker.ui.fragment.map.googlemap.GoogleBitmapHelper +import com.abbidot.tracker.util.LonAndLatUtil import com.abbidot.tracker.util.ViewUtil import com.abbidot.tracker.vm.GeoCoderViewModel +import com.abbidot.tracker.widget.MapMarkerInfoView import com.baidu.mapapi.map.BaiduMap import com.baidu.mapapi.map.BitmapDescriptor import com.baidu.mapapi.map.BitmapDescriptorFactory @@ -48,6 +49,8 @@ class HistoryDataBaiduMapFragment : BaseBaiduMapFragment() { private var isMapSnapshot = true private lateinit var mMapLoadOk: () -> Unit + + //当前位置火星坐标 private var mCurLatLng: LatLng? = null private var mPetBean: PetBean? = null @@ -189,21 +192,30 @@ class HistoryDataBaiduMapFragment : BaseBaiduMapFragment() { } mGeoCoderViewModel.getLatLonAddress( - mLatLngList[maxIndex].latitude, mLatLngList[maxIndex].longitude, false + data[maxIndex].latitude, data[maxIndex].longitude, false ) - setMapAddressLocationOffset(mMarkerInfoView, mLatLngList[maxIndex]) } /** * 设置Marker弹窗设备电量的位置 */ - fun setMapAddressLocationOffset(viewGroup: ViewGroup, latLng: LatLng) { + private fun setMapAddressLocationOffset(viewGroup: ViewGroup, latLng: LatLng) { mBaiduMap?.projection?.toScreenLocation(latLng)?.let { - viewGroup.x = it.x.toFloat() - viewGroup.width / 2 + AppUtils.dpToPx(5) + viewGroup.x = it.x.toFloat() - viewGroup.width / 2 viewGroup.y = it.y.toFloat() - AppUtils.dpToPx(56) - viewGroup.height } } + /** + * 设置Marker弹窗消息的位置 + */ + private fun setMarkerInfoViewOffset(markerInfoView: MapMarkerInfoView, latLng: LatLng) { + mBaiduMap?.projection?.toScreenLocation(latLng)?.let { + ViewUtil.instance.viewShow(markerInfoView) + markerInfoView.setOffsetXY(it.x, it.y - AppUtils.dpToPx(56)) + } + } + suspend fun setPetBean(petBean: PetBean) { if (mPetBean?.petId == petBean.petId) { return @@ -225,7 +237,7 @@ class HistoryDataBaiduMapFragment : BaseBaiduMapFragment() { fun resetMarkerInfoViewOffset() { mCurLatLng?.let { - if (mMarkerInfoView.isVisible) setMapAddressLocationOffset(mMarkerInfoView, it) + setMapAddressLocationOffset(mMarkerInfoView, it) } } @@ -246,12 +258,14 @@ class HistoryDataBaiduMapFragment : BaseBaiduMapFragment() { needConvertGCJ02 = false, isAnimMoveCamera = true ) - mGeoCoderViewModel.getLatLonAddress( - mLatLngList[progress].latitude, mLatLngList[progress].longitude, false - ) + val gpsLatLng = LonAndLatUtil.convertFromGCJ02ToWGS84( + mLatLngList[progress].latitude, + mLatLngList[progress].longitude + ) mCurLatLng = mLatLngList[progress] - setMapAddressLocationOffset(mMarkerInfoView, mLatLngList[progress]) + mGeoCoderViewModel.getLatLonAddress(gpsLatLng[0], gpsLatLng[1], false) + resetMarkerInfoViewOffset() } } diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HomeMapBaiduMapFragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HomeMapBaiduMapFragment.kt index d4fbf81..14ea42d 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HomeMapBaiduMapFragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HomeMapBaiduMapFragment.kt @@ -31,6 +31,7 @@ import com.abbidot.tracker.vm.GeoCoderViewModel import com.baidu.location.BDLocation import com.baidu.mapapi.map.BaiduMap import com.baidu.mapapi.map.BitmapDescriptor +import com.baidu.mapapi.map.Circle import com.baidu.mapapi.map.CircleOptions import com.baidu.mapapi.map.MapStatus import com.baidu.mapapi.map.MapStatusUpdateFactory @@ -42,7 +43,6 @@ import com.baidu.mapapi.map.Stroke import com.baidu.mapapi.model.LatLng import kotlinx.coroutines.delay import kotlinx.coroutines.launch -import kotlin.math.pow /** @@ -71,15 +71,15 @@ class HomeMapBaiduMapFragment : BaseBaiduMapFragment() { //是否是地图摄像头移动了 private var isMapCameraMove = false - private var mRippleCircle: Overlay? = null + private var mRippleCircle: Circle? = null private var mValueAnimator: ValueAnimator? = null private var mRippleCirclePercent = 0.0 - private var mRippleCircleRadius = 200 + private val mRippleCircleRadius = AppUtils.dpToPx(20) /** * 水波纹圆的颜色 */ - private var mRippleCircleColor: Int = R.color.black10 + private var mRippleCircleColor = R.color.black10 private val mOtherPetMarkerList = mutableListOf() @@ -292,6 +292,21 @@ class HomeMapBaiduMapFragment : BaseBaiduMapFragment() { } } + /** + * 设置Marker弹窗设备电量的位置 + */ + private fun setMapDeviceBatteryOffset( + viewGroup: ViewGroup, latLng: LatLng, mapDeviceBean: MapDeviceBean + ) { + mBaiduMap?.projection?.toScreenLocation(latLng)?.let { + viewGroup.x = it.x.toFloat() - viewGroup.width / 2 + AppUtils.dpToPx(5) + viewGroup.y = it.y.toFloat() - AppUtils.dpToPx(56) - viewGroup.height + if (mapDeviceBean.canShowBattery && !mapDeviceBean.isCloseBattery) ViewUtil.instance.viewShow( + viewGroup + ) + } + } + private var mUserAndPetLine: Overlay? = null /** @@ -330,14 +345,28 @@ class HomeMapBaiduMapFragment : BaseBaiduMapFragment() { private fun addRippleCircle() { getPetLatLng()?.apply { mBaiduMap?.let { - mRippleCircle?.remove() - val sColor = ContextCompat.getColor(mContext!!, mRippleCircleColor) - mRippleCircle = it.addOverlay( - CircleOptions().center(this) - .radius((mRippleCircleRadius * mRippleCirclePercent).toInt()).stroke( - Stroke(AppUtils.dpToPx(1), sColor) - ).fillColor(sColor) - ) + if (null == mRippleCircle) { + val sColor = ContextCompat.getColor(mContext!!, mRippleCircleColor) + val overlay = it.addOverlay( + CircleOptions().center(this) + .radius((mRippleCircleRadius * mRippleCirclePercent).toInt()).stroke( + Stroke(AppUtils.dpToPx(1), sColor) + ).fillColor(sColor) + ) + mRippleCircle = overlay as Circle + } else { + mRippleCircle?.let { c -> + if (mRippleCircleColor != R.color.black10) { + val sColor = ContextCompat.getColor(mContext!!, mRippleCircleColor) + c.fillColor = sColor + c.stroke = Stroke(AppUtils.dpToPx(1), sColor) + } + if (!c.isVisible) c.isVisible = true + c.center = this + c.radius = + (mRippleCircleRadius * mRippleCirclePercent).toInt() + } + } } } } @@ -348,7 +377,7 @@ class HomeMapBaiduMapFragment : BaseBaiduMapFragment() { private fun setRippleCircleAnim() { if (null == mValueAnimator) { mValueAnimator = ViewUtil.instance.setValueAnimator( - 0.0, 100.0, 1500, LinearInterpolator() + 0.0, 100.0, 900, LinearInterpolator() ) { mRippleCirclePercent = it.animatedValue as Float / 100.0 addRippleCircle() @@ -369,8 +398,8 @@ class HomeMapBaiduMapFragment : BaseBaiduMapFragment() { fun startRippleCircleAnim() { getPetLatLng()?.apply { //一像素对应几米 - val pxDis = 2.0.pow(17.0 - getBaiduMapZoom()) - mRippleCircleRadius = (pxDis * 150).toInt() +// val pxDis = 2.0.pow(17.0 - getBaiduMapZoom()) +// mRippleCircleRadius = (pxDis * 200).toInt() setRippleCircleAnim() } } @@ -397,8 +426,7 @@ class HomeMapBaiduMapFragment : BaseBaiduMapFragment() { fun clearRippleCircleAnim() { mValueAnimator?.cancel() - mRippleCircle?.remove() - mRippleCircle = null + mRippleCircle?.isVisible = false } diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/BaseGoogleMapFragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/BaseGoogleMapFragment.kt index 6c67b56..7e5c4a4 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/BaseGoogleMapFragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/BaseGoogleMapFragment.kt @@ -23,15 +23,11 @@ import com.abbidot.tracker.R import com.abbidot.tracker.base.BaseFragment import com.abbidot.tracker.bean.FencesBean import com.abbidot.tracker.bean.HistoryDataBean -import com.abbidot.tracker.bean.MapDeviceBean import com.abbidot.tracker.constant.ConstantInt import com.abbidot.tracker.databinding.FragmentGoogleMapBinding import com.abbidot.tracker.util.ImageUtil import com.abbidot.tracker.util.LonAndLatUtil import com.abbidot.tracker.util.Util -import com.abbidot.tracker.util.ViewUtil -import com.abbidot.tracker.widget.MapDeviceNetView -import com.abbidot.tracker.widget.MapMarkerInfoView import com.google.android.gms.maps.CameraUpdate import com.google.android.gms.maps.CameraUpdateFactory import com.google.android.gms.maps.GoogleMap @@ -1132,44 +1128,6 @@ abstract class BaseGoogleMapFragment : return zoom } - /** - * 设置Marker弹窗消息的位置 - */ - fun setMarkerInfoViewOffset(markerInfoView: MapMarkerInfoView, latLng: LatLng) { - val newLatLng = toGCJ02LatLon(latLng) - mGoogleMap?.projection?.toScreenLocation(newLatLng)?.let { - ViewUtil.instance.viewShow(markerInfoView) - markerInfoView.setOffsetXY(it.x, it.y - AppUtils.dpToPx(56)) - } - } - - - /** - * 设置Marker弹窗设备电量的位置 - */ - fun setMapDeviceBatteryOffset( - viewGroup: ViewGroup, latLng: LatLng, mapDeviceBean: MapDeviceBean - ) { - val newLatLng = toGCJ02LatLon(latLng) - mGoogleMap?.projection?.toScreenLocation(newLatLng)?.let { - viewGroup.x = it.x.toFloat() - viewGroup.width / 2 + AppUtils.dpToPx(5) - viewGroup.y = it.y.toFloat() - AppUtils.dpToPx(56) - viewGroup.height - if (mapDeviceBean.canShowBattery && !mapDeviceBean.isCloseBattery) ViewUtil.instance.viewShow( - viewGroup - ) - } - } - - /** - * 设置地图网络类型显示位置 - */ - fun setMapNetTypeViewOffset(mapDeviceNetView: MapDeviceNetView, latLng: LatLng) { - mGoogleMap?.projection?.toScreenLocation(latLng)?.let { - mapDeviceNetView.visibility = View.VISIBLE - mapDeviceNetView.setOffsetXY(it.x + AppUtils.dpToPx(11), it.y - AppUtils.dpToPx(56)) - } - } - /** * 转换国内火星坐标 */ diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HistoryDataGoogleMapFragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HistoryDataGoogleMapFragment.kt index 755228f..a08fd03 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HistoryDataGoogleMapFragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HistoryDataGoogleMapFragment.kt @@ -14,6 +14,7 @@ import com.abbidot.tracker.bean.PetBean import com.abbidot.tracker.constant.ConstantInt import com.abbidot.tracker.util.ViewUtil import com.abbidot.tracker.vm.GeoCoderViewModel +import com.abbidot.tracker.widget.MapMarkerInfoView import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.model.BitmapDescriptor import com.google.android.gms.maps.model.BitmapDescriptorFactory @@ -124,10 +125,9 @@ class HistoryDataGoogleMapFragment : BaseGoogleMapFragment() { } /** - * 设置Marker弹窗 的位置 + * 设置地址和距离弹窗位置 */ - fun setMapAddressLocationOffset(viewGroup: ViewGroup, latLng: LatLng) { - LogUtil.e("xxxx $latLng},${viewGroup.width},${viewGroup.height}") + private fun setMapAddressLocationOffset(viewGroup: ViewGroup, latLng: LatLng) { val newLatLng = toGCJ02LatLon(latLng) mGoogleMap?.projection?.toScreenLocation(newLatLng)?.let { viewGroup.x = it.x.toFloat() - viewGroup.width / 2 @@ -135,6 +135,17 @@ class HistoryDataGoogleMapFragment : BaseGoogleMapFragment() { } } + /** + * 设置Marker弹窗消息的位置 + */ + private fun setMarkerInfoViewOffset(markerInfoView: MapMarkerInfoView, latLng: LatLng) { + val newLatLng = toGCJ02LatLon(latLng) + mGoogleMap?.projection?.toScreenLocation(newLatLng)?.let { + ViewUtil.instance.viewShow(markerInfoView) + markerInfoView.setOffsetXY(it.x, it.y - AppUtils.dpToPx(56)) + } + } + suspend fun setPetBean(petBean: PetBean) { if (mPetBean?.petId == petBean.petId) { return diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HomeMapGoogleMapFragmentV3.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HomeMapGoogleMapFragmentV3.kt index 94decc6..8b40cd0 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HomeMapGoogleMapFragmentV3.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HomeMapGoogleMapFragmentV3.kt @@ -23,6 +23,7 @@ import com.abbidot.tracker.databinding.LayoutPetLocationInfoBinding import com.abbidot.tracker.util.Util import com.abbidot.tracker.util.ViewUtil import com.abbidot.tracker.vm.GeoCoderViewModel +import com.abbidot.tracker.widget.MapDeviceNetView import com.google.android.gms.maps.CameraUpdateFactory import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.model.Circle @@ -33,7 +34,6 @@ import com.google.android.gms.maps.model.MarkerOptions import com.google.android.gms.maps.model.Polyline import kotlinx.coroutines.delay import kotlinx.coroutines.launch -import kotlin.math.pow /** *Created by .yzq on 2022/1/13/013. @@ -59,7 +59,7 @@ class HomeMapGoogleMapFragmentV3 : BaseGoogleMapFragment() { private var mRippleCircle: Circle? = null private var mValueAnimator: ValueAnimator? = null private var mRippleCirclePercent = 0.0 - private var mRippleCircleRadius = 200 + private val mRippleCircleRadius = AppUtils.dpToPx(20) //是否是地图摄像头移动了 private var isMapCameraMove = false @@ -218,6 +218,32 @@ class HomeMapGoogleMapFragmentV3 : BaseGoogleMapFragment() { } } + /** + * 设置Marker弹窗设备电量的位置 + */ + private fun setMapDeviceBatteryOffset( + viewGroup: ViewGroup, latLng: LatLng, mapDeviceBean: MapDeviceBean + ) { + val newLatLng = toGCJ02LatLon(latLng) + mGoogleMap?.projection?.toScreenLocation(newLatLng)?.let { + viewGroup.x = it.x.toFloat() - viewGroup.width / 2 + AppUtils.dpToPx(5) + viewGroup.y = it.y.toFloat() - AppUtils.dpToPx(56) - viewGroup.height + if (mapDeviceBean.canShowBattery && !mapDeviceBean.isCloseBattery) ViewUtil.instance.viewShow( + viewGroup + ) + } + } + + /** + * 设置地图网络类型显示位置 + */ + private fun setMapNetTypeViewOffset(mapDeviceNetView: MapDeviceNetView, latLng: LatLng) { + mGoogleMap?.projection?.toScreenLocation(latLng)?.let { + mapDeviceNetView.visibility = View.VISIBLE + mapDeviceNetView.setOffsetXY(it.x + AppUtils.dpToPx(11), it.y - AppUtils.dpToPx(56)) + } + } + /** * 计算用户和宠物的距离 */ @@ -272,7 +298,6 @@ class HomeMapGoogleMapFragmentV3 : BaseGoogleMapFragment() { .fillColor(ContextCompat.getColor(mContext!!, R.color.black10)) .strokeColor(ContextCompat.getColor(mContext!!, R.color.black10)) ) - setRippleCircleAnim() } } @@ -285,7 +310,7 @@ class HomeMapGoogleMapFragmentV3 : BaseGoogleMapFragment() { private fun setRippleCircleAnim() { if (null == mValueAnimator) { mValueAnimator = ViewUtil.instance.setValueAnimator( - 0.0, 100.0, 1500, LinearInterpolator() + 0.0, 100.0, 1000, LinearInterpolator() ) { mRippleCirclePercent = it.animatedValue as Float / 100.0 mRippleCircle?.apply { @@ -352,7 +377,6 @@ class HomeMapGoogleMapFragmentV3 : BaseGoogleMapFragment() { } } } -// addPolyLines(mGoogleMap!!, latLngList) } /** @@ -361,9 +385,8 @@ class HomeMapGoogleMapFragmentV3 : BaseGoogleMapFragment() { fun startRippleCircleAnim() { getPetLatLng()?.apply { //一像素对应几米 - val pxDis = 2.0.pow(15.5 - getGoogleMapZoom()) - mRippleCircleRadius = (pxDis * 150).toInt() -// addUserAndPetLine(this) +// val pxDis = 2.0.pow(15.5 - getGoogleMapZoom()) +// mRippleCircleRadius = (pxDis * 150).toInt() addRippleCircle() } } @@ -372,21 +395,20 @@ class HomeMapGoogleMapFragmentV3 : BaseGoogleMapFragment() { * 直播开始之后,改变绿色波纹动画 */ fun greenRippleCircleAnim() { - if (null == mRippleCircle) addRippleCircle() + if (null == mRippleCircle) addRippleCircle() else setRippleCircleAnim() mRippleCircle?.apply { //一像素对应几米 - val pxDis = 2.0.pow(15.5 - getGoogleMapZoom()) - mRippleCircleRadius = (pxDis * 150).toInt() +// val pxDis = 2.0.pow(15.5 - getGoogleMapZoom()) +// mRippleCircleRadius = (pxDis * 150).toInt() fillColor = (ContextCompat.getColor(mContext!!, R.color.select_color5)) strokeColor = (ContextCompat.getColor(mContext!!, R.color.select_color5)) - mValueAnimator?.duration = 2000 + if (!isVisible) isVisible = true } } fun clearRippleCircleAnim() { mValueAnimator?.cancel() - mRippleCircle?.remove() - mRippleCircle = null + mRippleCircle?.isVisible = false } /** diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index ac8259a..5164067 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -471,8 +471,8 @@ 选择计量单位 公制 (厘米, 千克) 英制 (英寸, 磅) - 米 (m) - 英尺 (ft) + 米 + 英尺 围栏告警 我的宠物围栏 您的宝贵意见将帮助我们做得更好。 @@ -710,8 +710,8 @@ $%s/月 宠物信息设置成功,获得安全徽章! 设备已被绑定,请核对后重试 - %s英尺 (ft) - %s英里/小时 (mph) + %s英尺 + %s英里/小时 您确定要删除家庭成员%s 开启通知:前往“账户” > \"设置\"。点击\"通知\"并开启。 /月 x%s