手机适配

This commit is contained in:
pengxiaolong
2026-02-10 18:26:31 +08:00
parent 63415e1fde
commit d10524c597
262 changed files with 107341 additions and 32222 deletions

View File

@@ -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等 */