From 02de9983ca84107acbdb49113a8bafe3a6ab600d Mon Sep 17 00:00:00 2001 From: Mihai-Cristian Condrea Date: Fri, 19 Sep 2025 12:15:09 +0300 Subject: [PATCH 1/2] Fix layout transition to avoid ViewPager2 crash --- .../d4rk/androidtutorials/java/ads/views/NativeAdBannerView.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ads/views/NativeAdBannerView.java b/app/src/main/java/com/d4rk/androidtutorials/java/ads/views/NativeAdBannerView.java index 7942cfec..d4015c76 100644 --- a/app/src/main/java/com/d4rk/androidtutorials/java/ads/views/NativeAdBannerView.java +++ b/app/src/main/java/com/d4rk/androidtutorials/java/ads/views/NativeAdBannerView.java @@ -41,6 +41,7 @@ public NativeAdBannerView(@NonNull Context context, @Nullable AttributeSet attrs private void init(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { LayoutTransition transition = new LayoutTransition(); transition.enableTransitionType(LayoutTransition.CHANGING); + transition.setAnimateParentHierarchy(false); setLayoutTransition(transition); if (attrs != null) { From bc8c03debb51949966ea0ff8f61728060614a7d5 Mon Sep 17 00:00:00 2001 From: Mihai-Cristian Condrea Date: Fri, 19 Sep 2025 12:22:27 +0300 Subject: [PATCH 2/2] Remove banner layout transition animation --- .../androidtutorials/java/ads/views/NativeAdBannerView.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ads/views/NativeAdBannerView.java b/app/src/main/java/com/d4rk/androidtutorials/java/ads/views/NativeAdBannerView.java index d4015c76..e4e56023 100644 --- a/app/src/main/java/com/d4rk/androidtutorials/java/ads/views/NativeAdBannerView.java +++ b/app/src/main/java/com/d4rk/androidtutorials/java/ads/views/NativeAdBannerView.java @@ -1,6 +1,5 @@ package com.d4rk.androidtutorials.java.ads.views; -import android.animation.LayoutTransition; import android.content.Context; import android.content.res.TypedArray; import android.util.AttributeSet; @@ -39,11 +38,6 @@ public NativeAdBannerView(@NonNull Context context, @Nullable AttributeSet attrs } private void init(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { - LayoutTransition transition = new LayoutTransition(); - transition.enableTransitionType(LayoutTransition.CHANGING); - transition.setAnimateParentHierarchy(false); - setLayoutTransition(transition); - if (attrs != null) { try (TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.NativeAdBannerView, defStyleAttr, 0)) { layoutRes = a.getResourceId(R.styleable.NativeAdBannerView_nativeAdLayout, R.layout.ad_home_banner_large);