Commit aaf58ba6 authored by wanglei's avatar wanglei

[拆包]首页水波纹

parent 5c3305f7
......@@ -33,10 +33,14 @@ import com.base.appzxhy.ui.dialog.permissionStorageJump
import com.base.appzxhy.ui.set.SettingActivity
import com.base.appzxhy.utils.BarUtils
import com.base.appzxhy.utils.KotlinExt.toFormatSize
import com.base.appzxhy.utils.LogEx
import com.base.appzxhy.utils.Utils
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
import kotlinx.coroutines.delay
import kotlinx.coroutines.isActive
import kotlinx.coroutines.launch
import kotlin.random.Random
class HomeFragment : BaseFragment<FragmentHome1Binding>(FragmentHome1Binding::inflate) {
......@@ -125,8 +129,85 @@ class HomeFragment : BaseFragment<FragmentHome1Binding>(FragmentHome1Binding::in
adapter.submitList(featureList)
initWave()
}
private fun initWave() {
binding.wave1.setWaves(getRandomWave2())
binding.wave1.progress = 0.15f
binding.wave1.colorAlpha = 0.8f
binding.wave1.startColor = "#AACBEC".toColorInt()
binding.wave1.closeColor = "#AACBEC".toColorInt()
binding.wave1.waveHeight = Random.nextInt(15, 30)
binding.wave1.velocity = Random.nextInt(30, 60) * 0.1f
binding.wave1.start()
binding.wave1.visibility = View.VISIBLE
binding.wave2.setWaves(getRandomWave1())
binding.wave2.colorAlpha = 0.9f
binding.wave2.progress = 0.15f
binding.wave2.startColor = "#A9CAEB".toColorInt()
binding.wave2.closeColor = "#A9CAEB".toColorInt()
binding.wave2.waveHeight = Random.nextInt(15, 30)
binding.wave2.velocity = Random.nextInt(30, 60) * 0.1f
binding.wave2.start()
binding.wave2.visibility = View.VISIBLE
val randomWave = getRandomWave1()
LogEx.logDebug(TAG, "randomWave=$randomWave")
binding.wave3.setWaves(randomWave)
binding.wave3.colorAlpha = 1f
binding.wave3.progress = 0.15f
binding.wave3.startColor = ContextCompat.getColor(requireContext(), R.color.colorPrimary)
binding.wave3.closeColor = ContextCompat.getColor(requireContext(), R.color.colorPrimary)
binding.wave3.waveHeight = Random.nextInt(15, 30)
binding.wave3.velocity = Random.nextInt(30, 60) * 0.1f
binding.wave3.start()
binding.wave3.visibility = View.VISIBLE
lifecycleScope.launch(Dispatchers.IO) {
while (isActive) {
delay(5000)
launch(Dispatchers.Main) {
binding.wave1.velocity = Random.nextInt(80, 100) * 0.1f
binding.wave2.velocity = Random.nextInt(80, 100) * 0.1f
binding.wave3.velocity = Random.nextInt(80, 100) * 0.1f
}
delay(3000)
launch(Dispatchers.Main) {
binding.wave1.velocity = Random.nextInt(30, 60) * 0.1f
binding.wave2.velocity = Random.nextInt(30, 60) * 0.1f
binding.wave3.velocity = Random.nextInt(30, 60) * 0.1f
}
}
}
}
// "70,25,1.4,1.4,-26\n"
fun getRandomWave1(): String {
val offsetX = Random.nextInt(70, 90)
val offsetY = Random.nextInt(20, 30)
val scaleX = Random.nextInt(10, 16) / 10f
val scaleY = Random.nextInt(10, 15) / 10f
val velocity = Random.nextInt(-30, -20)
return "$offsetX,$offsetY,$scaleX,$scaleY,$velocity\n"
}
// "100,5,1.4,1.2,15\n"
fun getRandomWave2(): String {
val offsetX = Random.nextInt(90, 120)
val offsetY = Random.nextInt(3, 8)
val scaleX = Random.nextInt(10, 16) / 10f
val scaleY = Random.nextInt(9, 13) / 10f
val velocity = Random.nextInt(8, 18)
return "$offsetX,$offsetY,$scaleX,$scaleY,$velocity\n"
}
override fun initListener() {
super.initListener()
......@@ -160,38 +241,7 @@ class HomeFragment : BaseFragment<FragmentHome1Binding>(FragmentHome1Binding::in
}
}
// Wave(/*Context context, */int offsetX, int offsetY, int velocity, float scaleX, float scaleY, int wave) {
// super(context);
// this.wave = wave; //波幅(波宽)
// this.scaleX = scaleX; //水平拉伸量
// this.scaleY = scaleY; //竖直拉伸量
// this.offsetX = offsetX; //水平偏移量
// this.offsetY = offsetY; //竖直偏移量
// this.velocity = velocity; //移动速度(像素/秒)
// this.path = new Path();
// }
// "70,25,1.4,1.4,-26\n" +
// "100,5,1.4,1.2,15\n" +
// "420,0,1.15,1,-10\n" +
// "520,10,1.7,1.5,20\n" +
// "220,0,1,1,-15"
binding.WaveHeader1.setStartColor(R.color.colorPrimary)
binding.WaveHeader1.setCloseColorId(R.color.colorPrimary)
binding.WaveHeader1.setWaves("70,25,1.4,1.4,-26")
binding.WaveHeader1.colorAlpha = 0.5f
binding.WaveHeader1.visibility = View.GONE
binding.WaveHeader2.setStartColor(R.color.color_aacbec)
binding.WaveHeader2.setCloseColorId(R.color.color_aacbec)
binding.WaveHeader2.setWaves("220,0,1,1,-15")
binding.WaveHeader2.colorAlpha = 0.8f
binding.WaveHeader2.visibility = View.GONE
binding.WaveHeader3.colorAlpha = 1f
binding.WaveHeader3.setWaves("25,5,1.15,1.2,25")
binding.WaveHeader3.velocity=2f
binding.WaveHeader3.visibility = View.VISIBLE
}
......
......@@ -10,7 +10,7 @@
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_450"
android:background="#82FF60"
android:background="@color/colorPrimary"
app:layout_constraintTop_toTopOf="parent" />
......@@ -165,36 +165,40 @@
android:background="@color/white"
android:overScrollMode="never"
android:paddingHorizontal="@dimen/dp_8"
android:paddingTop="@dimen/dp_20"
android:paddingTop="@dimen/dp_40"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvClean" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="@id/rv">
<com.scwang.wave.MultiWaveHeader
android:id="@+id/WaveHeader1"
android:id="@+id/wave1"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_60"
android:visibility="gone" />
android:layout_height="match_parent"
android:visibility="gone"
app:mwhProgress="0.15"
tools:mwhEnableFullScreen="true" />
<com.scwang.wave.MultiWaveHeader
android:id="@+id/WaveHeader2"
android:id="@+id/wave2"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_60"
android:visibility="gone" />
android:layout_height="match_parent"
android:visibility="gone"
app:mwhProgress="0.15"
tools:mwhEnableFullScreen="true" />
<com.scwang.wave.MultiWaveHeader
android:id="@+id/WaveHeader3"
android:id="@+id/wave3"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_60"
android:visibility="visible"
app:mwhCloseColor="@color/colorPrimary"
app:mwhColorAlpha="1"
app:mwhStartColor="@color/colorPrimary" />
android:layout_height="match_parent"
android:visibility="gone"
app:mwhProgress="0.15"
tools:mwhEnableFullScreen="true" />
</FrameLayout>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment