bug修改 - 反向手指guide
This commit is contained in:
parent
35c1119ddb
commit
c6fe2c7c33
|
|
@ -366,7 +366,7 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity<ViewBinding>() {
|
|||
.setHighlightShape(RectShape(10.dp, 10.dp, 10.dp))
|
||||
.setHighlightHorizontalPadding(0.dp)
|
||||
.setConstraints(Constraints.TopToBottomOfHighlight + Constraints.EndToEndOfHighlight)
|
||||
.setMarginOffset(MarginOffset(top = -20.dp.toInt()))
|
||||
.setMarginOffset(MarginOffset(top = -20.dp.toInt(), end = 20.dp.toInt()))
|
||||
.build()
|
||||
}
|
||||
.setBackgroundColor("#cc000000".toColorInt())
|
||||
|
|
|
|||
|
|
@ -145,11 +145,11 @@ class HomeFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnSwit
|
|||
HighlightParameter.Builder()
|
||||
.setHighlightView(binding?.popMenu!!, {
|
||||
})
|
||||
.setTipsViewId(R.layout.guide_step_withdraw)
|
||||
.setTipsViewId(R.layout.guide_step_popmnue)
|
||||
.setHighlightShape(OvalShape(binding?.popMenu?.measuredWidth!!.toFloat()/2))
|
||||
.setHighlightHorizontalPadding(0.dp)
|
||||
.setConstraints(Constraints.TopToBottomOfHighlight + Constraints.EndToEndOfHighlight)
|
||||
.setMarginOffset(MarginOffset(top = -20.dp.toInt(), end = -20.dp.toInt()))
|
||||
.setMarginOffset(MarginOffset(top = -20.dp.toInt(), end = 20.dp.toInt()))
|
||||
.build()
|
||||
}
|
||||
.setBackgroundColor("#cc000000".toColorInt())
|
||||
|
|
|
|||
|
|
@ -6,11 +6,10 @@ import android.animation.ObjectAnimator
|
|||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.animation.AnimationSet
|
||||
import android.widget.LinearLayout
|
||||
import com.ama.core.architecture.util.ResUtil.dp
|
||||
import com.vididin.real.money.game.databinding.LayoutAnimImageviewBinding
|
||||
import kotlin.math.min
|
||||
|
||||
|
||||
|
||||
class AnimImageView @JvmOverloads constructor(
|
||||
|
|
|
|||
|
|
@ -0,0 +1,57 @@
|
|||
package com.gamedog.vididin.widget
|
||||
|
||||
import android.animation.AnimatorSet
|
||||
import android.animation.ObjectAnimator
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.LinearLayout
|
||||
import com.ama.core.architecture.util.ResUtil.dp
|
||||
import com.vididin.real.money.game.databinding.LayoutAnimImageview2Binding
|
||||
|
||||
class AnimImageView2 @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : LinearLayout(context, attrs, defStyleAttr) {
|
||||
private var mBinding: LayoutAnimImageview2Binding
|
||||
private val animationFraction = 0.2f
|
||||
private var animatorSet: AnimatorSet = AnimatorSet()
|
||||
|
||||
init {
|
||||
mBinding = LayoutAnimImageview2Binding.inflate(LayoutInflater.from(context), this, true)
|
||||
startAnim()
|
||||
}
|
||||
|
||||
|
||||
|
||||
private fun startAnim() {
|
||||
with(mBinding) {
|
||||
// 1. move distance
|
||||
/*val moveDistanceX = -min(ivImage.width, ivImage.height) * animationFraction
|
||||
val moveDistanceY = -min(ivImage.width, ivImage.height) * animationFraction*/
|
||||
val moveDistanceX = 20.dp
|
||||
val moveDistanceY = -20.dp
|
||||
|
||||
// 2. x and y
|
||||
val animatorX = ObjectAnimator.ofFloat(ivImage, "translationX", 0f, moveDistanceX.toFloat())
|
||||
val animatorY = ObjectAnimator.ofFloat(ivImage, "translationY", 0f, moveDistanceY.toFloat())
|
||||
animatorX.repeatMode = ObjectAnimator.REVERSE
|
||||
animatorX.repeatCount = ObjectAnimator.INFINITE
|
||||
animatorY.repeatMode = ObjectAnimator.REVERSE
|
||||
animatorY.repeatCount = ObjectAnimator.INFINITE
|
||||
|
||||
// 3. set
|
||||
animatorSet.playTogether(animatorX, animatorY)
|
||||
animatorSet.duration = 600
|
||||
|
||||
animatorSet.start()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow()
|
||||
animatorSet.cancel()
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.gamedog.vididin.widget.AnimImageView2
|
||||
android:id="@+id/tv_tips"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_gravity="right"
|
||||
android:layout_marginLeft="100dp"
|
||||
android:layout_height="70dp"
|
||||
android:src="@mipmap/guide_finger_b" />
|
||||
|
||||
</FrameLayout>
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.gamedog.vididin.widget.AnimImageView
|
||||
<com.gamedog.vididin.widget.AnimImageView2
|
||||
android:id="@+id/tv_tips"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="70dp"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
android:paddingTop="20dp"
|
||||
android:paddingEnd="20dp"
|
||||
>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/ivImage"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/icon_finger_right"
|
||||
/>
|
||||
|
||||
</FrameLayout>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
Loading…
Reference in New Issue