沉浸式状态栏

This commit is contained in:
renhaoting 2025-11-18 16:19:45 +08:00
parent 13daa31451
commit ef03bda916
5 changed files with 29 additions and 22 deletions

View File

@ -4,10 +4,15 @@ package com.gamedog.vididin.main.fragments
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import com.ama.core.architecture.appBase.AppViewsFragment import com.ama.core.architecture.appBase.AppViewsFragment
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
import com.ama.core.architecture.util.setStatusBarDarkFont import com.ama.core.architecture.util.setStatusBarDarkFont
import com.ama.core.common.util.dp
import com.gamedog.vididin.databinding.VididinappFeatureHomeFragmentHomeBinding
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlin.getValue import kotlin.getValue
import com.gamedog.vididin.databinding.VididinappFeatureMineFragmentMineBinding as ViewBinding import com.gamedog.vididin.databinding.VididinappFeatureMineFragmentMineBinding as ViewBinding
@ -32,6 +37,15 @@ class MineFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(),
container: ViewGroup?, container: ViewGroup?,
) = ViewBinding.inflate(inflater, container, false) ) = ViewBinding.inflate(inflater, container, false)
override fun ViewBinding.initWindowInsets() {
ViewCompat.setOnApplyWindowInsetsListener(topBackground) { v, insets ->
val systemBars =
insets.getInsets(WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout())
v.updatePadding(top = systemBars.top + 20.dp)
insets
}
}
override fun ViewBinding.initViews() { override fun ViewBinding.initViews() {
} }

View File

@ -2,6 +2,9 @@ package com.gamedog.vididin.main.fragments
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import com.ama.core.architecture.appBase.AppViewsEmptyViewModelFragment import com.ama.core.architecture.appBase.AppViewsEmptyViewModelFragment
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
import com.ama.core.architecture.util.setStatusBarDarkFont import com.ama.core.architecture.util.setStatusBarDarkFont
@ -23,6 +26,15 @@ class TasksFragment : AppViewsEmptyViewModelFragment<ViewBinding>(), OnTabClickA
container: ViewGroup?, container: ViewGroup?,
) = ViewBinding.inflate(inflater, container, false) ) = ViewBinding.inflate(inflater, container, false)
override fun ViewBinding.initWindowInsets() {
ViewCompat.setOnApplyWindowInsetsListener(root) { v, insets ->
val systemBars =
insets.getInsets(WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout())
v.updatePadding(top = systemBars.top)
insets
}
}
override fun ViewBinding.initViews() { override fun ViewBinding.initViews() {
} }

View File

@ -8,13 +8,13 @@
android:id="@+id/viewPager2" android:id="@+id/viewPager2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/black"
android:orientation="vertical"/> android:orientation="vertical"/>
<com.gamedog.vididin.widget.HomeDragIconView <com.gamedog.vididin.widget.HomeDragIconView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="40dp" android:layout_marginTop="40dp"
android:layout_marginLeft="20dp"
/> />
</FrameLayout> </FrameLayout>

View File

@ -1,28 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent" >
xmlns:app="http://schemas.android.com/apk/res-auto">
<!--<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/temp_bg"
android:scaleType="centerCrop"
/>-->
<!--<com.gamedog.vididin.feature.home.ui.widget.YoutubeWebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />-->
<!--<com.gamedog.vididin.feature.home.ui.widget.YoutubePlayerView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>-->
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"

View File

@ -15,7 +15,7 @@
android:id="@+id/top_background" android:id="@+id/top_background"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:src="@drawable/vididinapp_feature_mine_bg_top" android:background="@drawable/vididinapp_feature_mine_bg_top"
app:layout_constraintDimensionRatio="642:360" app:layout_constraintDimensionRatio="642:360"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"