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

View File

@ -1,6 +1,7 @@
package at.connyduck.pixelcat.components.timeline
import android.os.Bundle
import android.util.Log
import android.view.View
import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope
@ -13,6 +14,7 @@ import at.connyduck.pixelcat.dagger.ViewModelFactory
import at.connyduck.pixelcat.databinding.FragmentTimelineBinding
import at.connyduck.pixelcat.db.entitity.StatusEntity
import at.connyduck.pixelcat.util.viewBinding
import com.google.android.material.appbar.AppBarLayout
import dagger.android.support.DaggerFragment
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
@ -38,15 +40,6 @@ class TimelineFragment: DaggerFragment(R.layout.fragment_timeline), TimeLineActi
binding.toolbar.setNavigationOnClickListener {
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)

View File

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

View File

@ -19,7 +19,7 @@
</style>
<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="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>