[taxi-u-p]
[动画修改]
This commit is contained in:
yangyakun
2023-12-23 00:04:22 +08:00
parent 39a1d730e2
commit cd40d2ced3
47 changed files with 376 additions and 72 deletions

View File

@@ -29,7 +29,7 @@ class BigFrameAnimatorContainer (resId: Int,
private var mSoftReferenceImageView: SoftReference<ImageView>? = null // 软引用ImageView以便及时释放掉
private var mHandler: Handler? = null
private var mDelayMillis = 0
private var mOnAnimationStoppedListener: OnAnimationStoppedListener? = null//播放停止监听
var mOnAnimationStoppedListener: OnAnimationStoppedListener? = null//播放停止监听
var isOnce:Boolean = false
private val readQueue = ArrayBlockingQueue<Pair<Bitmap,BitmapFactory.Options>>(8,true)

View File

@@ -1,5 +1,10 @@
package com.mogo.och.taxi.passenger.ui
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.animation.AnimatorSet
import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.os.Bundle
import android.view.View
import com.alibaba.android.arouter.launcher.ARouter
@@ -20,7 +25,9 @@ import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.common.module.voice.VoiceNotice
import com.mogo.och.taxi.passenger.R
import com.mogo.och.taxi.passenger.presenter.BaseTaxiPassengerPresenter
import com.mogo.och.taxi.passenger.ui.arrived.ArrivedView
import com.mogo.och.taxi.passenger.ui.bottom.BottomBar
import com.mogo.och.taxi.passenger.ui.checkstartautopilot.ChekAndStartAutopilotView
import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView
import io.reactivex.disposables.Disposable
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.arrivedView
@@ -36,6 +43,7 @@ import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.pcnActionView
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.romaDistanceView
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.romaPView
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.rv_location_center
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.speedView
/**
* 网约车基础Fragment主要负责布局通用界面处理站点面板和通话面板互斥情况
@@ -169,6 +177,22 @@ class TaxiPassengerBaseFragment() :
}
}
arrivedView.arrivedVisilityChangeListenr = object :ArrivedView.ArrivedVisilityChangeListenr{
override fun isShow(show: Boolean) {
CallerLogger.d(M_TAXI_P + TAG, "arrived ${show}")
if(arrivedView.visibility==View.GONE&&chekAndStartAutopilotView.visibility==View.GONE){
showOrHide(true)
}
}
}
chekAndStartAutopilotView.checkAndStartVisilityChangeListenr = object :ChekAndStartAutopilotView.CheckAndStartVisilityChangeListenr{
override fun isShow(show: Boolean) {
CallerLogger.d(M_TAXI_P + TAG, "check and startAutopilot ${show}")
if(arrivedView.visibility==View.GONE&&chekAndStartAutopilotView.visibility==View.GONE){
showOrHide(true)
}
}
}
view?.viewTreeObserver?.addOnWindowFocusChangeListener {
if(it){
CallerLogger.d(M_TAXI_P + TAG, "windows获取焦点")
@@ -245,23 +269,52 @@ class TaxiPassengerBaseFragment() :
fun setOverMapDebug(){
overMapView.setDebugMode(true)
showOrHide(true)
}
/**
* 显示或者隐藏到达乘客站点的洁面
* ① 取消订单 可有可无
* ② 到达上车点 隐藏到达终点的页面(上一个订单没有评价)
* ③ 到达目的地 显示到达终点的页面
* ④ debug 使用
*
* @param isShow true 展示 false 隐藏
*/
fun showOrHideArrivedEndLayout(isShow: Boolean) {
chekAndStartAutopilotView.visibility = View.GONE
if (isShow) {
exitFullVideoScreen(true)
arrivedView.aniArrived(true)
showOrHide(false)
RxUtils.createSubscribe(500) {
arrivedView.setDataAndStartAnimation()
VoiceNotice.showNotice("已到达目的地,带好随身物品,右侧下车更安全!期待下次再见", AIAssist.LEVEL2)
}
} else {
showOrHide(true)
arrivedView.aniArrived(false)
}
}
fun showOrHideCheckAndStartAutopilotView(status:Int){
arrivedView.visibility = View.GONE
when (status) {
0 -> {
chekAndStartAutopilotView.visibility = View.VISIBLE
statusBarView?.visibility = View.GONE
chekAndStartAutopilotView.resetCheckView()
if(chekAndStartAutopilotView.visibility == View.GONE){
showOrHide(false)
}
chekAndStartAutopilotView.aniCheckAndStartAutopilot(true,0)
}
1 -> {
chekAndStartAutopilotView.visibility = View.VISIBLE
statusBarView?.visibility = View.GONE
chekAndStartAutopilotView.startAnimation2StartAutopilit()
if(chekAndStartAutopilotView.visibility == View.GONE){
showOrHide(false)
}
chekAndStartAutopilotView.aniCheckAndStartAutopilot(true,1)
}
2 -> {
chekAndStartAutopilotView.visibility = View.GONE
statusBarView?.visibility = View.VISIBLE
chekAndStartAutopilotView.aniCheckAndStartAutopilot(false,2)
showOrHide(true)
chekAndStartAutopilotView.resetCheckView()
}
else -> {}
@@ -280,28 +333,6 @@ class TaxiPassengerBaseFragment() :
/**
* 显示或者隐藏到达乘客站点的洁面
* ① 取消订单 可有可无
* ② 到达上车点 隐藏到达终点的页面(上一个订单没有评价)
* ③ 到达目的地 显示到达终点的页面
* ④ debug 使用
*
* @param isShow true 展示 false 隐藏
*/
fun showOrHideArrivedEndLayout(isShow: Boolean) {
if (isShow) {
exitFullVideoScreen(true)
arrivedView.visibility = View.VISIBLE
RxUtils.createSubscribe(500) {
arrivedView.setDataAndStartAnimation()
VoiceNotice.showNotice("已到达目的地,带好随身物品,右侧下车更安全!期待下次再见", AIAssist.LEVEL2)
}
} else {
arrivedView.visibility = View.GONE
}
}
private fun exitFullVideoScreen(resetVideoPlayer: Boolean) {
infoVideoView.exitFullScreenMode(resetVideoPlayer)
}
@@ -316,6 +347,136 @@ class TaxiPassengerBaseFragment() :
bottom.setCheckIndex(BottomBar.SelectView.OVERMAPVIEW)
}
private fun showOrHide(isShow: Boolean){
val animatorSet = AnimatorSet()
val allAnimator = mutableListOf<Animator>()
allAnimator.addAll(aniStatusBar(isShow))
allAnimator.addAll(aniBottomBar(isShow))
allAnimator.addAll(aniSpeedSettingRow(isShow,speedView))
allAnimator.addAll(aniSpeedSettingRow(isShow,romaPView))
allAnimator.addAll(aniSpeedSettingRow(isShow,romaDistanceView))
allAnimator.addAll(aniSpeedSettingRow(isShow,ck_setting))
allAnimator.addAll(aniOrderInfo(isShow))
animatorSet.playTogether(allAnimator)
animatorSet.start()
}
@SuppressLint("ObjectAnimatorBinding")
fun aniStatusBar(show:Boolean):List<Animator>{
val statusBar = mutableListOf<Animator>()
val translationYStart: Float
val translationYEnd: Float
val alphaStart: Float
val alphaEnd: Float
if(show){
translationYStart = -statusBarView!!.height.toFloat()
translationYEnd = 0f
alphaStart = 0.3f
alphaEnd = 1f
}else{
translationYStart = 0f
translationYEnd = -statusBarView!!.height.toFloat()
alphaStart = 1f
alphaEnd = 0.3f
}
statusBar.add(ObjectAnimator.ofFloat(statusBarView, "translationY", translationYStart, translationYEnd).apply {
duration = 1000
})
//ofFloatMove.duration = 1000
statusBar.add( ObjectAnimator.ofFloat(statusBarView, "alpha", alphaStart, alphaEnd).apply {
duration = 1000
})
return statusBar
}
private fun aniBottomBar(show:Boolean):List<Animator>{
val statusBar = mutableListOf<Animator>()
val translationYStart: Float
val translationYEnd: Float
val alphaStart: Float
val alphaEnd: Float
if(show){
translationYStart = bottom!!.height.toFloat()
translationYEnd = 0f
alphaStart = 0.3f
alphaEnd = 1f
}else{
translationYStart = 0f
translationYEnd = bottom!!.height.toFloat()
alphaStart = 1f
alphaEnd = 0.3f
}
statusBar.add(ObjectAnimator.ofFloat(bottom, "translationY", translationYStart, translationYEnd).apply {
duration = 1000
})
statusBar.add(ObjectAnimator.ofFloat(bottom, "alpha", alphaStart, alphaEnd).apply {
duration = 1000
})
return statusBar
}
private fun aniSpeedSettingRow(show:Boolean,view:View):List<Animator>{
val statusBar = mutableListOf<Animator>()
val translationYStart: Float
val translationYEnd: Float
val alphaStart: Float
val alphaEnd: Float
if(show){
translationYStart = -view.height.toFloat()
translationYEnd = 0f
alphaStart = 0.0f
alphaEnd = 1f
}else{
translationYStart = 0f
translationYEnd = -view.height.toFloat()
alphaStart = 1f
alphaEnd = 0.0f
}
statusBar.add(ObjectAnimator.ofFloat(view, "translationY", translationYStart, translationYEnd).apply {
duration = 1000
})
statusBar.add(ObjectAnimator.ofFloat(view, "alpha", alphaStart, alphaEnd).apply {
duration = 1000
})
return statusBar
}
private fun aniOrderInfo(show:Boolean):List<Animator>{
val statusBar = mutableListOf<Animator>()
val translationYStart: Float
val translationYEnd: Float
val alphaStart: Float
val alphaEnd: Float
if(show){
translationYStart = itinerary.height.toFloat()/5
translationYEnd = 0f
alphaStart = 0.0f
alphaEnd = 1f
}else{
translationYStart = 0f
translationYEnd = itinerary.height.toFloat()/5
alphaStart = 1f
alphaEnd = 0.0f
}
statusBar.add(ObjectAnimator.ofFloat(itinerary, "translationY", translationYStart, translationYEnd).apply {
duration = 1000
})
statusBar.add(ObjectAnimator.ofFloat(itinerary, "alpha", alphaStart, alphaEnd).apply {
duration = 1000
})
return statusBar
}
companion object {
@JvmField
val TAG = "TaxiPassengerBaseFragment"

View File

@@ -1,16 +1,22 @@
package com.mogo.och.taxi.passenger.ui.arrived
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.animation.ObjectAnimator
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.och.common.module.utils.BigFrameAnimatorContainer
import com.mogo.och.common.module.utils.FrameAnimatorContainer
import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.taxi.passenger.R
import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment
import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder
import io.reactivex.disposables.Disposable
@@ -18,6 +24,8 @@ import kotlinx.android.synthetic.main.taxt_u_p_arrived_end_panel.view.aciv_bg
import kotlinx.android.synthetic.main.taxt_u_p_arrived_end_panel.view.aciv_close
import kotlinx.android.synthetic.main.taxt_u_p_arrived_end_panel.view.actv_endstation
import kotlinx.android.synthetic.main.taxt_u_p_arrived_end_panel.view.v_video_right_rear_view
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.arrivedView
import kotlinx.android.synthetic.main.taxt_u_p_check_startautopilot.view.aciv_check_autopilot
/**
*
@@ -38,7 +46,9 @@ class ArrivedView : WindowRelativeLayout, ArrivedViewModel.ArrivedViewCallback {
private val gsyVideoOptionBuilder = GSYVideoOptionBuilder()
private var taxiPxiaozhiLove: FrameAnimatorContainer?=null
private var taxiPxiaozhiLove: BigFrameAnimatorContainer?=null
var arrivedVisilityChangeListenr:ArrivedVisilityChangeListenr?=null
private fun initView() {
@@ -49,8 +59,8 @@ class ArrivedView : WindowRelativeLayout, ArrivedViewModel.ArrivedViewCallback {
visibility = View.GONE
}
taxiPxiaozhiLove = FrameAnimatorContainer(R.array.arrived_dest, 18,aciv_bg)
taxiPxiaozhiLove?.setOnAnimStopListener(object : FrameAnimatorContainer.OnAnimationStoppedListener{
taxiPxiaozhiLove = BigFrameAnimatorContainer(R.array.arrived_dest, 31,aciv_bg,isOnce = true)
taxiPxiaozhiLove?.setOnAnimStopListener(object : BigFrameAnimatorContainer.OnAnimationStoppedListener{
override fun AnimationStopped() {
d(SceneConstant.M_TAXI_P + TAG, "动画暂停")
}
@@ -60,14 +70,16 @@ class ArrivedView : WindowRelativeLayout, ArrivedViewModel.ArrivedViewCallback {
override fun onVisibilityAggregated(isVisible: Boolean) {
super.onVisibilityAggregated(isVisible)
d(SceneConstant.M_TAXI_P + TAG, "展示---:${isVisible}")
if(isVisible){
if (isVisible) {
taxiPxiaozhiLove = BigFrameAnimatorContainer(R.array.arrived_dest, 31,aciv_bg,isOnce = true)
taxiPxiaozhiLove?.start()
v_video_right_rear_view.resetView()
taxiPxiaozhiLove?.reStart()
}else{
} else {
v_video_right_rear_view.resetView()
taxiPxiaozhiLove?.stop()
taxiPxiaozhiLove = null
RxUtils.disposeSubscribe(subscribe)
}
arrivedVisilityChangeListenr?.isShow(isVisible)
}
override fun onAttachedToWindow() {
@@ -105,4 +117,37 @@ class ArrivedView : WindowRelativeLayout, ArrivedViewModel.ArrivedViewCallback {
actv_endstation.text = stationName
}
fun aniArrived(show:Boolean){
RxUtils.createSubscribe(500) {
val alphaStart: Float
val alphaEnd: Float
if(show){
alphaStart = 0.0f
alphaEnd = 1f
visibility = View.VISIBLE
}else{
alphaStart = 1f
alphaEnd = 0.0f
visibility = View.GONE
}
ObjectAnimator.ofFloat(this@ArrivedView, "alpha", alphaStart, alphaEnd).apply {
duration = 2000
addListener(object :AnimatorListenerAdapter(){
override fun onAnimationEnd(animation: Animator) {
CallerLogger.d(TaxiPassengerBaseFragment.TAG,"onAnimationEndcarrivedView")
if(show){
visibility = View.VISIBLE
}else{
visibility = View.GONE
}
}
})
}.start()
}
}
interface ArrivedVisilityChangeListenr{
fun isShow(show: Boolean)
}
}

View File

@@ -1,5 +1,8 @@
package com.mogo.och.taxi.passenger.ui.checkstartautopilot
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.animation.ObjectAnimator
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
@@ -11,7 +14,9 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.och.common.module.utils.BigFrameAnimatorContainer
import com.mogo.och.taxi.passenger.R
import com.mogo.och.taxi.passenger.ui.arrived.ArrivedView
import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.chekAndStartAutopilotView
import kotlinx.android.synthetic.main.taxt_u_p_check_startautopilot.view.aciv_check_autopilot
import kotlinx.android.synthetic.main.taxt_u_p_check_startautopilot.view.checkPhoneNumber
import kotlinx.android.synthetic.main.taxt_u_p_check_startautopilot.view.startAutopilotClose
@@ -46,6 +51,9 @@ class ChekAndStartAutopilotView : WindowRelativeLayout,
private var aniCheck2StartAutopilotView: BigFrameAnimatorContainer? = null
var checkAndStartVisilityChangeListenr: CheckAndStartVisilityChangeListenr?=null
private fun initView(context: Context) {
d(SceneConstant.M_TAXI_P + TAG, "initView")
LayoutInflater.from(context).inflate(R.layout.taxt_u_p_check_startautopilot, this, true)
@@ -60,9 +68,15 @@ class ChekAndStartAutopilotView : WindowRelativeLayout,
if (isVisible) {
aniCheck2StartAutopilotView =
BigFrameAnimatorContainer(R.array.check2startautopilt, 39, aciv_check_autopilot, true)
aniCheck2StartAutopilotView?.mOnAnimationStoppedListener = object : BigFrameAnimatorContainer.OnAnimationStoppedListener{
override fun AnimationStopped() {
startAutopilotView.showStartAutopilot()
}
}
} else {
aniCheck2StartAutopilotView = null
}
checkAndStartVisilityChangeListenr?.isShow(isVisible)
}
override fun onAttachedToWindow() {
@@ -107,4 +121,47 @@ class ChekAndStartAutopilotView : WindowRelativeLayout,
aniCheck2StartAutopilotView?.start()
}
fun aniCheckAndStartAutopilot(show:Boolean,status:Int){
val alphaStart: Float
val alphaEnd: Float
if(show){
alphaStart = 0.0f
alphaEnd = 1f
visibility = View.VISIBLE
}else{
alphaStart = 1f
alphaEnd = 0.0f
visibility = View.GONE
}
when (status) {
0 -> {
checkPhoneNumber.visibility = View.VISIBLE
startAutopilotView.visibility = View.GONE
startAutopilotClose.visibility = View.GONE
ObjectAnimator.ofFloat(this@ChekAndStartAutopilotView, "alpha", alphaStart, alphaEnd).apply {
duration = 3000
}.start()
}
1 -> {
checkPhoneNumber.visibility = View.GONE
startAutopilotView.visibility = View.VISIBLE
startAutopilotClose.visibility = View.VISIBLE
aniCheck2StartAutopilotView?.start()
}
2 -> {
checkPhoneNumber.visibility = View.VISIBLE
startAutopilotView.visibility = View.GONE
startAutopilotClose.visibility = View.GONE
return
}
else -> {}
}
}
interface CheckAndStartVisilityChangeListenr{
fun isShow(show: Boolean)
}
}

View File

@@ -66,7 +66,7 @@ class StartAutopilotView : WindowRelativeLayout, StartAutopilotViewModel.StartAu
}
})
taxiPStartAutopilot = FrameAnimatorContainer(
R.array.taxi_p_start_autopilot, 15, taxi_p_autopilot_btn_bg, true
R.array.taxi_p_start_autopilot, 15, taxi_p_autopilot_btn_bg, true, initFirstFrame = false
)
taxiPStartAutopilot?.setOnAnimStopListener(object :
FrameAnimatorContainer.OnAnimationStoppedListener {
@@ -128,6 +128,32 @@ class StartAutopilotView : WindowRelativeLayout, StartAutopilotViewModel.StartAu
}
}
override fun onVisibilityAggregated(isVisible: Boolean) {
super.onVisibilityAggregated(isVisible)
if(isVisible){
taxi_p_start_autopilot.background = null
taxi_p_start_autopilot.text = resources.getString(R.string.taxi_p_start_autopilot_txt)
}else{
unableStartAutopilot()
goneAllDoorState()
resetView()
CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "onDetachedFromWindow")
}
}
private fun resetView() {
taxi_p_autopilot_starting.visibility = View.GONE
taxi_p_autopilot_btn_bg.visibility = View.GONE
taxi_p_start_autopilot.visibility = View.GONE
}
fun showStartAutopilot(){
taxi_p_autopilot_starting.visibility = View.VISIBLE
taxi_p_autopilot_btn_bg.visibility = View.VISIBLE
taxi_p_start_autopilot.visibility = View.VISIBLE
taxiPStartAutopilot?.reStart()
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "onAttachedToWindow")
@@ -198,13 +224,6 @@ class StartAutopilotView : WindowRelativeLayout, StartAutopilotViewModel.StartAu
actv_rear_right_door.visibility = GONE
}
override fun onDetachedFromWindow() {
CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "onDetachedFromWindow")
unableStartAutopilot()
goneAllDoorState()
super.onDetachedFromWindow()
}
override fun unableStartAutopilotByDoorState() {
unableStartAutopilot()
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 801 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 861 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 842 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 745 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 804 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 804 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 840 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 869 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 678 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:endColor="@color/taxi_p_5D6A8C" android:centerColor="@color/taxi_p_995D6A8C" android:startColor="@color/taxi_p_005D6A8C" android:angle="270"/>
<gradient android:endColor="@color/taxi_p_876E788B" android:startColor="@android:color/transparent" android:angle="270"/>
</shape>

View File

@@ -46,7 +46,7 @@
android:textSize="@dimen/dp_55"
app:layout_constraintBottom_toTopOf="@+id/tv_passenger_start"
app:layout_constraintStart_toStartOf="@+id/iv_passenger_start_boll"
android:text="乘客数2位" />
tools:text="乘客数2位" />
<TextView
android:id="@+id/tv_passenger_start"
@@ -61,7 +61,7 @@
app:layout_constraintEnd_toStartOf="@+id/numberCheckView"
app:layout_constraintStart_toStartOf="@+id/iv_passenger_start_boll"
app:layout_constraintTop_toTopOf="@+id/iv_passenger_start_boll"
android:text="起 点 : 衡山科学城" />
tools:text="起 点 : 衡山科学城" />
<ImageView
android:id="@+id/iv_passenger_start_boll"
@@ -104,7 +104,7 @@
app:layout_constraintEnd_toStartOf="@+id/numberCheckView"
app:layout_constraintStart_toStartOf="@+id/iv_passenger_end_boll"
app:layout_constraintTop_toTopOf="@+id/iv_passenger_end_boll"
android:text="终 点 : 石鼓收费站" />
tools:text="终 点 : 石鼓收费站" />
<com.mogo.och.taxi.passenger.widget.NumberCheckView
android:id="@+id/numberCheckView"

View File

@@ -14,6 +14,8 @@
android:layout_marginTop="@dimen/dp_150"
android:layout_gravity="center_horizontal"
android:src="@drawable/light_00003"
android:visibility="gone"
tools:visibility="visible"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -24,14 +26,18 @@
android:layout_width="1000dp"
android:layout_height="500dp"
android:clickable="false"
android:visibility="gone"
tools:visibility="visible"
android:src="@drawable/image_00000_0"
android:layout_marginBottom="@dimen/dp_62"
android:layout_marginBottom="@dimen/dp_12"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:id="@+id/taxi_p_start_autopilot"
android:visibility="gone"
tools:visibility="visible"
android:layout_width="@dimen/taxi_p_start_autopilot_btn_width"
android:layout_height="@dimen/dp_152"
android:gravity="center"

View File

@@ -228,26 +228,41 @@
<string-array name="arrived_dest">
<item>@drawable/check2startautopilt_000</item>
<item>@drawable/check2startautopilt_001</item>
<item>@drawable/check2startautopilt_002</item>
<item>@drawable/check2startautopilt_003</item>
<item>@drawable/check2startautopilt_004</item>
<item>@drawable/check2startautopilt_005</item>
<item>@drawable/check2startautopilt_006</item>
<item>@drawable/check2startautopilt_007</item>
<item>@drawable/check2startautopilt_008</item>
<item>@drawable/check2startautopilt_009</item>
<item>@drawable/arrive_dest_000</item>
<item>@drawable/arrive_dest_001</item>
<item>@drawable/arrive_dest_002</item>
<item>@drawable/arrive_dest_003</item>
<item>@drawable/arrive_dest_004</item>
<item>@drawable/arrive_dest_005</item>
<item>@drawable/arrive_dest_006</item>
<item>@drawable/arrive_dest_007</item>
<item>@drawable/arrive_dest_008</item>
<item>@drawable/arrive_dest_009</item>
<item>@drawable/check2startautopilt_010</item>
<item>@drawable/check2startautopilt_011</item>
<item>@drawable/check2startautopilt_012</item>
<item>@drawable/check2startautopilt_013</item>
<item>@drawable/check2startautopilt_014</item>
<item>@drawable/check2startautopilt_015</item>
<item>@drawable/check2startautopilt_016</item>
<item>@drawable/check2startautopilt_017</item>
<item>@drawable/check2startautopilt_018</item>
<item>@drawable/arrive_dest_011</item>
<item>@drawable/arrive_dest_011</item>
<item>@drawable/arrive_dest_012</item>
<item>@drawable/arrive_dest_013</item>
<item>@drawable/arrive_dest_014</item>
<item>@drawable/arrive_dest_015</item>
<item>@drawable/arrive_dest_016</item>
<item>@drawable/arrive_dest_017</item>
<item>@drawable/arrive_dest_018</item>
<item>@drawable/arrive_dest_019</item>
<item>@drawable/arrive_dest_020</item>
<item>@drawable/arrive_dest_021</item>
<item>@drawable/arrive_dest_022</item>
<item>@drawable/arrive_dest_023</item>
<item>@drawable/arrive_dest_024</item>
<item>@drawable/arrive_dest_025</item>
<item>@drawable/arrive_dest_026</item>
<item>@drawable/arrive_dest_027</item>
<item>@drawable/arrive_dest_028</item>
<item>@drawable/arrive_dest_029</item>
<item>@drawable/arrive_dest_030</item>
</string-array>
<string-array name="check2startautopilt">

View File

@@ -54,6 +54,7 @@
<color name="taxi_p_333333">#333333</color>
<color name="taxi_p_995D6A8C">#995D6A8C</color>
<color name="taxi_p_B37E90BF">#B37E90BF</color>
<color name="taxi_p_876E788B">#876E788B</color>

View File

@@ -13,10 +13,10 @@ if (!isAndroidTest) {
apply from: rootProject.file('gradle/bytex/bytex_log_chain.gradle')
apply from: rootProject.file('gradle/bytex/bytex_sticky_service.gradle')
apply from: rootProject.file('gradle/bytex/bytex_thread_opt.gradle')
apply from: rootProject.file('gradle/bytex/bytex_lancetx.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_lancetx.gradle')
apply from: rootProject.file('gradle/bytex/bytex_apm.gradle')
apply from: rootProject.file('gradle/bytex/bytex_systrace.gradle')
apply from: rootProject.file('gradle/bytex/bytex_matrix.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_matrix.gradle')
apply from: rootProject.file('gradle/bytex/bytex_handler_proxy.gradle')
// apply from: rootProject.file('gradle/bytex/bytex_btrace.gradle')
}