diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index c05ab95..efb9540 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -2,8 +2,10 @@ import android.view.View import android.widget.LinearLayout +import android.widget.TextView import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.* import com.casic.xz.meterage.view.notice.NoticeListActivity @@ -12,12 +14,30 @@ import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_home.* +import java.util.* class HomePageFragment : KotlinBaseFragment() { + private val timer = object : Timer() {} + private var currentIndex = 0 + private lateinit var weakReferenceHandler: WeakReferenceHandler + override fun initData() { + noticeSwitcherView.setFactory { TextView(requireContext()) } + weakReferenceHandler = WeakReferenceHandler { msg -> + if (msg.what == 2023030601) { + val rowsModel = msg.obj as List + + //TODO 添加切换动画 + noticeSwitcherView.setText(rowsModel[currentIndex % rowsModel.size].noticeTitle) + currentIndex++ + } + true + } + val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java] noticeViewModel.getNoticeList("", "", "", "", "", 1) noticeViewModel.noticeList.observe(this) { @@ -32,6 +52,15 @@ } else { noticeCountView.text = "9+" } + + timer.schedule(object : TimerTask() { + override fun run() { + val message = weakReferenceHandler.obtainMessage() + message.what = 2023030601 + message.obj = it.data.rows + weakReferenceHandler.sendMessage(message) + } + }, 0, 5000) } } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index c05ab95..efb9540 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -2,8 +2,10 @@ import android.view.View import android.widget.LinearLayout +import android.widget.TextView import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.* import com.casic.xz.meterage.view.notice.NoticeListActivity @@ -12,12 +14,30 @@ import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_home.* +import java.util.* class HomePageFragment : KotlinBaseFragment() { + private val timer = object : Timer() {} + private var currentIndex = 0 + private lateinit var weakReferenceHandler: WeakReferenceHandler + override fun initData() { + noticeSwitcherView.setFactory { TextView(requireContext()) } + weakReferenceHandler = WeakReferenceHandler { msg -> + if (msg.what == 2023030601) { + val rowsModel = msg.obj as List + + //TODO 添加切换动画 + noticeSwitcherView.setText(rowsModel[currentIndex % rowsModel.size].noticeTitle) + currentIndex++ + } + true + } + val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java] noticeViewModel.getNoticeList("", "", "", "", "", 1) noticeViewModel.noticeList.observe(this) { @@ -32,6 +52,15 @@ } else { noticeCountView.text = "9+" } + + timer.schedule(object : TimerTask() { + override fun run() { + val message = weakReferenceHandler.obtainMessage() + message.what = 2023030601 + message.obj = it.data.rows + weakReferenceHandler.sendMessage(message) + } + }, 0, 5000) } } } diff --git a/app/src/main/res/anim/animation_in.xml b/app/src/main/res/anim/animation_in.xml new file mode 100644 index 0000000..3ccc714 --- /dev/null +++ b/app/src/main/res/anim/animation_in.xml @@ -0,0 +1,16 @@ + + + + + + + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index c05ab95..efb9540 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -2,8 +2,10 @@ import android.view.View import android.widget.LinearLayout +import android.widget.TextView import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.* import com.casic.xz.meterage.view.notice.NoticeListActivity @@ -12,12 +14,30 @@ import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_home.* +import java.util.* class HomePageFragment : KotlinBaseFragment() { + private val timer = object : Timer() {} + private var currentIndex = 0 + private lateinit var weakReferenceHandler: WeakReferenceHandler + override fun initData() { + noticeSwitcherView.setFactory { TextView(requireContext()) } + weakReferenceHandler = WeakReferenceHandler { msg -> + if (msg.what == 2023030601) { + val rowsModel = msg.obj as List + + //TODO 添加切换动画 + noticeSwitcherView.setText(rowsModel[currentIndex % rowsModel.size].noticeTitle) + currentIndex++ + } + true + } + val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java] noticeViewModel.getNoticeList("", "", "", "", "", 1) noticeViewModel.noticeList.observe(this) { @@ -32,6 +52,15 @@ } else { noticeCountView.text = "9+" } + + timer.schedule(object : TimerTask() { + override fun run() { + val message = weakReferenceHandler.obtainMessage() + message.what = 2023030601 + message.obj = it.data.rows + weakReferenceHandler.sendMessage(message) + } + }, 0, 5000) } } } diff --git a/app/src/main/res/anim/animation_in.xml b/app/src/main/res/anim/animation_in.xml new file mode 100644 index 0000000..3ccc714 --- /dev/null +++ b/app/src/main/res/anim/animation_in.xml @@ -0,0 +1,16 @@ + + + + + + + diff --git a/app/src/main/res/anim/animation_out.xml b/app/src/main/res/anim/animation_out.xml new file mode 100644 index 0000000..772ee5b --- /dev/null +++ b/app/src/main/res/anim/animation_out.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index c05ab95..efb9540 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -2,8 +2,10 @@ import android.view.View import android.widget.LinearLayout +import android.widget.TextView import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R +import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.view.home.* import com.casic.xz.meterage.view.notice.NoticeListActivity @@ -12,12 +14,30 @@ import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.qmuiteam.qmui.util.QMUIDisplayHelper import kotlinx.android.synthetic.main.fragment_home.* +import java.util.* class HomePageFragment : KotlinBaseFragment() { + private val timer = object : Timer() {} + private var currentIndex = 0 + private lateinit var weakReferenceHandler: WeakReferenceHandler + override fun initData() { + noticeSwitcherView.setFactory { TextView(requireContext()) } + weakReferenceHandler = WeakReferenceHandler { msg -> + if (msg.what == 2023030601) { + val rowsModel = msg.obj as List + + //TODO 添加切换动画 + noticeSwitcherView.setText(rowsModel[currentIndex % rowsModel.size].noticeTitle) + currentIndex++ + } + true + } + val noticeViewModel = ViewModelProvider(this)[NoticeViewModel::class.java] noticeViewModel.getNoticeList("", "", "", "", "", 1) noticeViewModel.noticeList.observe(this) { @@ -32,6 +52,15 @@ } else { noticeCountView.text = "9+" } + + timer.schedule(object : TimerTask() { + override fun run() { + val message = weakReferenceHandler.obtainMessage() + message.what = 2023030601 + message.obj = it.data.rows + weakReferenceHandler.sendMessage(message) + } + }, 0, 5000) } } } diff --git a/app/src/main/res/anim/animation_in.xml b/app/src/main/res/anim/animation_in.xml new file mode 100644 index 0000000..3ccc714 --- /dev/null +++ b/app/src/main/res/anim/animation_in.xml @@ -0,0 +1,16 @@ + + + + + + + diff --git a/app/src/main/res/anim/animation_out.xml b/app/src/main/res/anim/animation_out.xml new file mode 100644 index 0000000..772ee5b --- /dev/null +++ b/app/src/main/res/anim/animation_out.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 4b7a0a6..afe3f8a 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -81,7 +81,8 @@ android:paddingVertical="@dimen/dp_10" android:text="用户注册" android:textColor="#B1B1B1" - android:textSize="@dimen/sp_12" /> + android:textSize="@dimen/sp_12" + android:visibility="gone" />