fix statusbar color on older api levels

This commit is contained in:
Konrad Pozniak 2020-06-12 19:36:09 +02:00
parent c6da75c16d
commit a9e5bb0a96
4 changed files with 38 additions and 43 deletions

View File

@ -32,37 +32,38 @@ class MainActivity : BaseActivity() {
private lateinit var mainFragmentAdapter: MainFragmentAdapter private lateinit var mainFragmentAdapter: MainFragmentAdapter
private val onNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item -> private val onNavigationItemSelectedListener =
return@OnNavigationItemSelectedListener when (item.itemId) { BottomNavigationView.OnNavigationItemSelectedListener { item ->
R.id.navigation_home -> { return@OnNavigationItemSelectedListener when (item.itemId) {
binding.mainViewPager.setCurrentItem(0, false) R.id.navigation_home -> {
true binding.mainViewPager.setCurrentItem(0, false)
} true
R.id.navigation_search -> { }
binding.mainViewPager.setCurrentItem(1, false) R.id.navigation_search -> {
true binding.mainViewPager.setCurrentItem(1, false)
} true
R.id.navigation_compose -> { }
val options = Options.init() R.id.navigation_compose -> {
.setRequestCode(100) val options = Options.init()
.setImageQuality(ImageQuality.HIGH) .setRequestCode(100)
.setScreenOrientation(Options.SCREEN_ORIENTATION_PORTRAIT) .setImageQuality(ImageQuality.HIGH)
.setScreenOrientation(Options.SCREEN_ORIENTATION_PORTRAIT)
Pix.start(this, options) Pix.start(this, options)
false false
} }
R.id.navigation_notifications -> { R.id.navigation_notifications -> {
binding.mainViewPager.setCurrentItem(2, false) binding.mainViewPager.setCurrentItem(2, false)
true true
} }
R.id.navigation_profile -> { R.id.navigation_profile -> {
binding.mainViewPager.setCurrentItem(3, false) binding.mainViewPager.setCurrentItem(3, false)
true true
} }
else -> false else -> false
}
} }
}
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -71,13 +72,13 @@ class MainActivity : BaseActivity() {
setContentView(binding.root) setContentView(binding.root)
binding.container.setOnApplyWindowInsetsListener { _, insets -> binding.container.setOnApplyWindowInsetsListener { _, insets ->
val top = insets.systemWindowInsetTop val top = insets.systemWindowInsetTop
val toolbarParams = binding.mainViewPager.layoutParams as LinearLayout.LayoutParams val viewPagerParams = binding.mainViewPager.layoutParams as LinearLayout.LayoutParams
toolbarParams.topMargin = top viewPagerParams.topMargin = top
insets.consumeSystemWindowInsets() insets.consumeSystemWindowInsets()
} }
mainFragmentAdapter = MainFragmentAdapter(this) mainFragmentAdapter = MainFragmentAdapter(this)
binding.mainViewPager.adapter = mainFragmentAdapter binding.mainViewPager.adapter = mainFragmentAdapter

View File

@ -1,6 +1,7 @@
package at.connyduck.pixelcat.components.timeline package at.connyduck.pixelcat.components.timeline
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.view.View import android.view.View
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
@ -13,6 +14,7 @@ import at.connyduck.pixelcat.dagger.ViewModelFactory
import at.connyduck.pixelcat.databinding.FragmentTimelineBinding import at.connyduck.pixelcat.databinding.FragmentTimelineBinding
import at.connyduck.pixelcat.db.entitity.StatusEntity import at.connyduck.pixelcat.db.entitity.StatusEntity
import at.connyduck.pixelcat.util.viewBinding import at.connyduck.pixelcat.util.viewBinding
import com.google.android.material.appbar.AppBarLayout
import dagger.android.support.DaggerFragment import dagger.android.support.DaggerFragment
import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -38,15 +40,6 @@ class TimelineFragment: DaggerFragment(R.layout.fragment_timeline), TimeLineActi
binding.toolbar.setNavigationOnClickListener { binding.toolbar.setNavigationOnClickListener {
binding.timelineRecyclerView.scrollToPosition(0) binding.timelineRecyclerView.scrollToPosition(0)
} }
/* binding.timelineContainer.setOnApplyWindowInsetsListener { _, insets ->
val top = insets.systemWindowInsetTop
val toolbarParams = binding.toolbar.layoutParams as AppBarLayout.LayoutParams
toolbarParams.topMargin = top
insets.consumeSystemWindowInsets()
}*/
val adapter = TimelineListAdapter(this) val adapter = TimelineListAdapter(this)

View File

@ -7,6 +7,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/pixelcat_gradient" android:background="@drawable/pixelcat_gradient"
android:orientation="vertical" android:orientation="vertical"
android:fitsSystemWindows="true"
tools:context=".components.main.MainActivity"> tools:context=".components.main.MainActivity">
<androidx.viewpager2.widget.ViewPager2 <androidx.viewpager2.widget.ViewPager2

View File

@ -19,7 +19,7 @@
</style> </style>
<style name="AppTheme" parent="@style/Theme.MaterialComponents.DayNight.NoActionBar"> <style name="AppTheme" parent="@style/Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:windowTranslucentStatus">false</item> <item name="android:windowTranslucentStatus">true</item>
<item name="bottomSheetDialogTheme">@style/BottomSheetDialogTheme</item> <item name="bottomSheetDialogTheme">@style/BottomSheetDialogTheme</item>
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item> <item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>