From b0592a08ec21a24f56d519d500a4860b2b8a7adf Mon Sep 17 00:00:00 2001 From: liujingxing <18268800083ljx@gmail.com> Date: Thu, 21 Aug 2025 15:45:23 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9A=B4=E9=9C=B2bitmap=E3=80=81drawFilter?= =?UTF-8?q?=E7=BB=99=E5=AD=90=E7=B1=BB=E8=B0=83=E7=94=A8=EF=BC=8C=E6=96=B9?= =?UTF-8?q?=E4=BE=BF=E5=AD=90=E7=B1=BB=E9=87=8D=E5=86=99draw=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=AE=9E=E7=8E=B0=E6=9B=B4=E5=A4=9A=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../penfeizhou/animation/FrameAnimationDrawable.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/frameanimation/src/main/java/com/github/penfeizhou/animation/FrameAnimationDrawable.java b/frameanimation/src/main/java/com/github/penfeizhou/animation/FrameAnimationDrawable.java index 08b3d80a..2fe88b1c 100644 --- a/frameanimation/src/main/java/com/github/penfeizhou/animation/FrameAnimationDrawable.java +++ b/frameanimation/src/main/java/com/github/penfeizhou/animation/FrameAnimationDrawable.java @@ -172,7 +172,7 @@ public boolean isRunning() { } @Override - public void draw(Canvas canvas) { + public void draw(@NonNull Canvas canvas) { if (bitmap == null || bitmap.isRecycled()) { return; } @@ -355,4 +355,12 @@ public void invalidateSelf() { public Decoder getFrameSeqDecoder() { return frameSeqDecoder; } + + protected Bitmap getBitmap() { + return bitmap; + } + + protected DrawFilter getDrawFilter() { + return drawFilter; + } } From 480460e72873f8a25e495a319711f5c81519a4f2 Mon Sep 17 00:00:00 2001 From: liujingxing <18268800083ljx@gmail.com> Date: Sun, 24 Aug 2025 16:31:33 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=BD=93View=E4=B8=8D=E5=8F=AF=E8=A7=81?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E4=B8=8D=E5=BA=94=E8=AF=A5=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E7=9A=84=E4=BB=BB=E5=8A=A1=EF=BC=9B=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E5=9C=A8View=E9=9A=90=E8=97=8F=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=8B=EF=BC=8C=E8=AE=BE=E7=BD=AE=E4=B8=80=E4=B8=AA=E6=97=A0?= =?UTF-8?q?=E9=99=90=E6=92=AD=E6=94=BE=E7=9A=84WebpDrawable=EF=BC=8C?= =?UTF-8?q?=E9=9A=8F=E5=90=8E=E5=85=B3=E9=97=ADActivity=EF=BC=8C=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=B0=86=E6=B0=B8=E8=BF=9C=E4=B8=8D=E4=BC=9A=E5=81=9C?= =?UTF-8?q?=E6=AD=A2=EF=BC=8C=E9=80=A0=E6=88=90=E5=86=85=E5=AD=98=E6=B3=84?= =?UTF-8?q?=E9=9C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../github/penfeizhou/animation/FrameAnimationDrawable.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frameanimation/src/main/java/com/github/penfeizhou/animation/FrameAnimationDrawable.java b/frameanimation/src/main/java/com/github/penfeizhou/animation/FrameAnimationDrawable.java index 2fe88b1c..be753945 100644 --- a/frameanimation/src/main/java/com/github/penfeizhou/animation/FrameAnimationDrawable.java +++ b/frameanimation/src/main/java/com/github/penfeizhou/animation/FrameAnimationDrawable.java @@ -130,7 +130,9 @@ public void start() { this.frameSeqDecoder.stop(); } this.frameSeqDecoder.reset(); - innerStart(); + if (isVisible()) { + innerStart(); + } } private void innerStart() {