From ec9dabdc0e262e95051794093e7abe3085b6cf54 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Wed, 17 Dec 2025 19:21:34 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E8=AE=BE=E7=BD=AE=20?= =?UTF-8?q?=E5=9F=BA=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vididin/features/splash/SplashActivity.kt | 2 + .../features/watchad/WatchAdActivity.kt | 4 +- .../core/architecture/base/BaseActivity.kt | 13 +--- .../base/views/BaseViewsActivity.kt | 63 +++++++++++++++++-- 4 files changed, 62 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt b/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt index 1624422..ce5e4fd 100644 --- a/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt @@ -30,6 +30,8 @@ class SplashActivity : AppViewsEmptyViewModelActivity(), OnTabStyle override fun inflateViewBinding(inflater: LayoutInflater) = ViewBinding.inflate(inflater) + override var mEnableBannerAd = false + override fun ViewBinding.initViews() { startTime = System.currentTimeMillis() diff --git a/app/src/main/java/com/gamedog/vididin/features/watchad/WatchAdActivity.kt b/app/src/main/java/com/gamedog/vididin/features/watchad/WatchAdActivity.kt index f568a3c..b782b67 100644 --- a/app/src/main/java/com/gamedog/vididin/features/watchad/WatchAdActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/watchad/WatchAdActivity.kt @@ -5,7 +5,6 @@ import android.content.Intent import android.os.CountDownTimer import android.view.LayoutInflater import androidx.activity.addCallback -import androidx.activity.viewModels import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.core.view.updatePadding @@ -22,7 +21,6 @@ import com.remax.bill.ads.AdResult import com.remax.bill.ads.ext.AdShowExt import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch -import kotlin.getValue import com.vididin.real.money.game.databinding.ActivityWatchAdBinding as ViewBinding @@ -31,7 +29,7 @@ import com.vididin.real.money.game.databinding.ActivityWatchAdBinding as ViewBin class WatchAdActivity : AppViewsEmptyViewModelActivity(), OnTabStyleListener { override fun inflateViewBinding(inflater: LayoutInflater) = ViewBinding.inflate(inflater) - + override var mEnableBannerAd = false private lateinit var mCountDownTimer: CountDownTimer private var mWatchType: Int = 0 diff --git a/core/architecture/src/main/java/com/ama/core/architecture/base/BaseActivity.kt b/core/architecture/src/main/java/com/ama/core/architecture/base/BaseActivity.kt index 50feda6..5909931 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/base/BaseActivity.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/base/BaseActivity.kt @@ -1,21 +1,10 @@ package com.ama.core.architecture.base -import android.view.View import androidx.appcompat.app.AppCompatActivity -import androidx.core.view.ViewCompat -import androidx.core.view.WindowInsetsCompat abstract class BaseActivity : AppCompatActivity() { - protected fun setImmerseRootView(rootView: View) { - ViewCompat.setOnApplyWindowInsetsListener(rootView) { v, insets -> - val systemBars = insets.getInsets( - WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout() or WindowInsetsCompat.Type.ime() - ) - v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) - insets - } - } + } \ No newline at end of file diff --git a/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsActivity.kt b/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsActivity.kt index bedfb28..c34fdb7 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsActivity.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsActivity.kt @@ -2,11 +2,18 @@ package com.ama.core.architecture.base.views import android.content.Intent import android.os.Bundle +import android.view.Gravity import android.view.View +import android.view.ViewGroup +import android.widget.FrameLayout +import android.widget.RelativeLayout import androidx.activity.enableEdgeToEdge +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat import androidx.lifecycle.flowWithLifecycle import androidx.lifecycle.lifecycleScope import androidx.viewbinding.ViewBinding +import com.ama.core.architecture.R import com.ama.core.architecture.base.BaseActivity import com.ama.core.architecture.base.BaseViewModel import com.ama.core.architecture.interfaces.ViewBindingActivity @@ -24,8 +31,9 @@ import kotlinx.coroutines.launch abstract class BaseViewsActivity> : - BaseActivity(), ViewBindingActivity, ViewModelOwner, - DefaultStateViewManager, MessageCollectorOwner { + BaseActivity(), ViewBindingActivity, ViewModelOwner, DefaultStateViewManager, MessageCollectorOwner { + private lateinit var mFinalRootView: ViewGroup + protected open var mEnableBannerAd = true override val binding: Binding by lazy { inflateViewBinding(layoutInflater) } @@ -57,9 +65,7 @@ abstract class BaseViewsActivity + val systemBars = insets.getInsets( + WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout() or WindowInsetsCompat.Type.ime() + ) + if (mEnableBannerAd) { + v.setPadding(systemBars.left, systemBars.top, systemBars.right, 0) + mFinalRootView.run { + setPadding(paddingLeft, paddingTop, paddingRight,systemBars.bottom) + } + } else { + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + } + + insets + } + } + + private fun getContentView(): View { + if (mEnableBannerAd) { + mFinalRootView = RelativeLayout(this) + val adContainer = FrameLayout(this).apply { + layoutParams = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,100).apply { + addRule(RelativeLayout.ALIGN_PARENT_BOTTOM) + } + setBackgroundResource(R.color.gray_3) + id = ViewCompat.generateViewId() + } + mFinalRootView.addView(adContainer) + + val bindingRootLayoutParams = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT).apply { + addRule(RelativeLayout.ABOVE, adContainer.id) + } + mFinalRootView.addView(binding.root, bindingRootLayoutParams) + } else { + return binding.root + } + return mFinalRootView + } + + private fun addShowAdView() { + + + + } + } \ No newline at end of file