bug修改 - 反向手指guide

This commit is contained in:
renhaoting 2025-12-26 16:48:37 +08:00
parent 35c1119ddb
commit c6fe2c7c33
8 changed files with 94 additions and 6 deletions

View File

@ -366,7 +366,7 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity<ViewBinding>() {
.setHighlightShape(RectShape(10.dp, 10.dp, 10.dp)) .setHighlightShape(RectShape(10.dp, 10.dp, 10.dp))
.setHighlightHorizontalPadding(0.dp) .setHighlightHorizontalPadding(0.dp)
.setConstraints(Constraints.TopToBottomOfHighlight + Constraints.EndToEndOfHighlight) .setConstraints(Constraints.TopToBottomOfHighlight + Constraints.EndToEndOfHighlight)
.setMarginOffset(MarginOffset(top = -20.dp.toInt())) .setMarginOffset(MarginOffset(top = -20.dp.toInt(), end = 20.dp.toInt()))
.build() .build()
} }
.setBackgroundColor("#cc000000".toColorInt()) .setBackgroundColor("#cc000000".toColorInt())

View File

@ -145,11 +145,11 @@ class HomeFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnSwit
HighlightParameter.Builder() HighlightParameter.Builder()
.setHighlightView(binding?.popMenu!!, { .setHighlightView(binding?.popMenu!!, {
}) })
.setTipsViewId(R.layout.guide_step_withdraw) .setTipsViewId(R.layout.guide_step_popmnue)
.setHighlightShape(OvalShape(binding?.popMenu?.measuredWidth!!.toFloat()/2)) .setHighlightShape(OvalShape(binding?.popMenu?.measuredWidth!!.toFloat()/2))
.setHighlightHorizontalPadding(0.dp) .setHighlightHorizontalPadding(0.dp)
.setConstraints(Constraints.TopToBottomOfHighlight + Constraints.EndToEndOfHighlight) .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() .build()
} }
.setBackgroundColor("#cc000000".toColorInt()) .setBackgroundColor("#cc000000".toColorInt())

View File

@ -6,11 +6,10 @@ import android.animation.ObjectAnimator
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.animation.AnimationSet
import android.widget.LinearLayout import android.widget.LinearLayout
import com.ama.core.architecture.util.ResUtil.dp import com.ama.core.architecture.util.ResUtil.dp
import com.vididin.real.money.game.databinding.LayoutAnimImageviewBinding import com.vididin.real.money.game.databinding.LayoutAnimImageviewBinding
import kotlin.math.min
class AnimImageView @JvmOverloads constructor( class AnimImageView @JvmOverloads constructor(

View File

@ -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()
}
}

View File

@ -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>

View File

@ -3,7 +3,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<com.gamedog.vididin.widget.AnimImageView <com.gamedog.vididin.widget.AnimImageView2
android:id="@+id/tv_tips" android:id="@+id/tv_tips"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="70dp" android:layout_height="70dp"

View File

@ -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