手机适配
This commit is contained in:
@@ -17,8 +17,6 @@ import androidx.activity.OnBackPressedCallback
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.ContextCompat
|
||||
import eightbitlab.com.blurview.BlurView
|
||||
import eightbitlab.com.blurview.RenderEffectBlur
|
||||
import eightbitlab.com.blurview.RenderScriptBlur
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.NavController
|
||||
@@ -236,6 +234,15 @@ class MainActivity : AppCompatActivity() {
|
||||
is AuthEvent.OpenGlobalPage -> {
|
||||
openGlobal(event.destinationId, event.bundle, event.clearGlobalBackStack)
|
||||
}
|
||||
// Circle 页面内跳转(保留原页面栈)
|
||||
is AuthEvent.OpenCirclePage -> {
|
||||
switchTab(TAB_CIRCLE, force = true)
|
||||
try {
|
||||
circleHost.navController.navigate(event.destinationId, event.bundle)
|
||||
} catch (e: IllegalArgumentException) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
is AuthEvent.UserUpdated -> {
|
||||
// 不需要处理
|
||||
@@ -357,6 +364,9 @@ class MainActivity : AppCompatActivity() {
|
||||
R.id.feedbackFragment,
|
||||
R.id.MyKeyboard,
|
||||
R.id.PersonalSettings,
|
||||
R.id.circleCharacterDetailsFragment,
|
||||
R.id.circleAiCharacterReportFragment,
|
||||
R.id.CircleMyAiCharacterFragment
|
||||
)
|
||||
}
|
||||
|
||||
@@ -476,13 +486,10 @@ class MainActivity : AppCompatActivity() {
|
||||
|
||||
private fun applyCircleTabBackground() {
|
||||
bottomNav.itemBackground = null
|
||||
if (blurReady) {
|
||||
bottomNavBlur.visibility = View.VISIBLE
|
||||
bottomNav.background = ColorDrawable(android.graphics.Color.TRANSPARENT)
|
||||
} else {
|
||||
bottomNavBlur.visibility = View.GONE
|
||||
bottomNav.background = ColorDrawable(ContextCompat.getColor(this, R.color.black_30_percent))
|
||||
}
|
||||
bottomNav.backgroundTintList = null
|
||||
// Circle 页底栏保持完全透明
|
||||
bottomNavBlur.visibility = View.GONE
|
||||
bottomNav.background = ColorDrawable(android.graphics.Color.TRANSPARENT)
|
||||
}
|
||||
|
||||
private fun resetBottomNavBackground() {
|
||||
@@ -492,35 +499,9 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
private fun setupBottomNavBlur() {
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
||||
blurReady = false
|
||||
bottomNavBlur.visibility = View.GONE
|
||||
return
|
||||
}
|
||||
|
||||
val rootView = findViewById<ViewGroup>(android.R.id.content)?.getChildAt(0) as? ViewGroup
|
||||
?: run { blurReady = false; bottomNavBlur.visibility = View.GONE; return }
|
||||
|
||||
// Lighter blur for higher transparency
|
||||
val blurRadius = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) 8f else 6f
|
||||
try {
|
||||
val algorithm = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
RenderEffectBlur()
|
||||
} else {
|
||||
RenderScriptBlur(this)
|
||||
}
|
||||
|
||||
bottomNavBlur.setupWith(rootView, algorithm)
|
||||
.setFrameClearDrawable(window.decorView.background)
|
||||
.setBlurRadius(blurRadius)
|
||||
.setBlurAutoUpdate(true)
|
||||
.setOverlayColor(ContextCompat.getColor(this, R.color.frosted_glass_bg))
|
||||
|
||||
blurReady = true
|
||||
} catch (e: Exception) {
|
||||
blurReady = false
|
||||
bottomNavBlur.visibility = View.GONE
|
||||
}
|
||||
// 全局移除底栏毛玻璃效果
|
||||
blurReady = false
|
||||
bottomNavBlur.visibility = View.GONE
|
||||
}
|
||||
|
||||
/** 打开全局页(login/recharge等) */
|
||||
|
||||
Reference in New Issue
Block a user