From 6c06552d1150eb6baef27b9bde1544ead75314bd Mon Sep 17 00:00:00 2001 From: level <1364007522@qq.com> Date: Mon, 29 Jul 2024 19:08:00 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E8=BF=B0=EF=BC=9A=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E7=AE=80=E5=8D=95=E7=9A=84=20=E4=BD=BF=E7=94=A8TextView?= =?UTF-8?q?=E6=9D=A5=E5=AE=9E=E7=8E=B0=E7=9A=84=20=E8=B5=B0=E9=A9=AC?= =?UTF-8?q?=E7=81=AF=20=E9=81=97=E7=95=99=E9=97=AE=E9=A2=98=EF=BC=9A=201.?= =?UTF-8?q?=E4=BD=BF=E7=94=A8TextView=E5=AE=9E=E7=8E=B0=E8=B5=B0=E9=A9=AC?= =?UTF-8?q?=E7=81=AF=E6=95=88=E6=9E=9C=E9=9C=80=E8=A6=81TextView=E7=9A=84V?= =?UTF-8?q?alue=E5=80=BC=E4=B8=BA=E9=95=BF=E6=96=87=E6=9C=AC=202.=E8=B5=B0?= =?UTF-8?q?=E9=A9=AC=E7=81=AF=E6=98=AF=E5=90=A6=E6=98=AF=E4=B8=80=E7=9B=B4?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=9C=A8=E9=A6=96=E9=A1=B5=203.=E8=B5=B0?= =?UTF-8?q?=E9=A9=AC=E7=81=AF=E7=9A=84=E5=85=B3=E9=97=AD=E9=80=BB=E8=BE=91?= =?UTF-8?q?=204.=E6=A0=B7=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yingmao/clash/act/NewMainActivity.kt | 21 ++++++++++++ .../yingmao/clash/util/MarqueeTextView.java | 34 +++++++++++++++++++ app/src/main/res/layout/new_main_activity.xml | 15 ++++++++ 3 files changed, 70 insertions(+) create mode 100644 app/src/main/java/com/yingmao/clash/util/MarqueeTextView.java diff --git a/app/src/main/java/com/yingmao/clash/act/NewMainActivity.kt b/app/src/main/java/com/yingmao/clash/act/NewMainActivity.kt index 3cf388d..7b9bd0c 100644 --- a/app/src/main/java/com/yingmao/clash/act/NewMainActivity.kt +++ b/app/src/main/java/com/yingmao/clash/act/NewMainActivity.kt @@ -508,6 +508,27 @@ class NewMainActivity : BaseActivity() { startActivity(Intent(CommonUtils.getApp(), ActivityActivity::class.java)) } setSometion() + initMainPageHorseRaceLamp() + } + + private fun initMainPageHorseRaceLamp() { + val mainPageHorseRaceLamp=findViewById(R.id.mainPageHorseRaceLamp) + val notice = + MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_NOTICE_READ, "暂无新通知") + val noticeIsRead = + MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_NOTICE_DOWNLOAD_READ, "") + if(!notice.equals("暂无新通知")){ + mainPageHorseRaceLamp.text=notice + mainPageHorseRaceLamp.requestFocus() + mainPageHorseRaceLamp.marqueeRepeatLimit = Integer.MAX_VALUE + mainPageHorseRaceLamp.isFocusable = true + mainPageHorseRaceLamp.ellipsize = TextUtils.TruncateAt.MARQUEE + mainPageHorseRaceLamp.setSingleLine() + mainPageHorseRaceLamp.isFocusableInTouchMode = true + mainPageHorseRaceLamp.setHorizontallyScrolling(true) + Log.d("noticeIsRead:::::::==>${noticeIsRead}") + } + } private fun cleanUserInfo() { diff --git a/app/src/main/java/com/yingmao/clash/util/MarqueeTextView.java b/app/src/main/java/com/yingmao/clash/util/MarqueeTextView.java new file mode 100644 index 0000000..b956fc0 --- /dev/null +++ b/app/src/main/java/com/yingmao/clash/util/MarqueeTextView.java @@ -0,0 +1,34 @@ +package com.yingmao.clash.util; + +import android.content.Context; +import android.text.TextUtils; +import android.util.AttributeSet; +import androidx.appcompat.widget.AppCompatTextView; +public class MarqueeTextView extends AppCompatTextView { + + public MarqueeTextView(Context context) { + super(context); + initView(context); + } + + public MarqueeTextView(Context context, AttributeSet attrs) { + super(context, attrs); + initView(context); + } + + public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initView(context); + } + + private void initView(Context context) { + this.setEllipsize(TextUtils.TruncateAt.MARQUEE); + this.setSingleLine(true); + this.setMarqueeRepeatLimit(-1); + } + + //设置获取焦点始终返回为true + public boolean isFocused() { + return true; + } +} diff --git a/app/src/main/res/layout/new_main_activity.xml b/app/src/main/res/layout/new_main_activity.xml index 7ce63cf..3601449 100644 --- a/app/src/main/res/layout/new_main_activity.xml +++ b/app/src/main/res/layout/new_main_activity.xml @@ -69,6 +69,21 @@ +