Skip to content

Commit

Permalink
Apply bottom insets on sign up and login screens
Browse files Browse the repository at this point in the history
  • Loading branch information
StrixG committed Dec 26, 2023
1 parent d360446 commit 9f5b8be
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 1 deletion.
3 changes: 2 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
<activity
android:name=".core.ui.MainActivity"
android:exported="true"
android:theme="@style/Theme.CoffeeShops">
android:theme="@style/Theme.CoffeeShops"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@ package com.obrekht.coffeeshops.auth.ui.login

import android.os.Bundle
import android.view.View
import android.view.ViewGroup
import android.view.inputmethod.EditorInfo
import androidx.annotation.StringRes
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updateLayoutParams
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.lifecycle.Lifecycle
Expand All @@ -13,6 +16,7 @@ import androidx.navigation.fragment.findNavController
import com.google.android.material.snackbar.Snackbar
import com.obrekht.coffeeshops.NavMainDirections
import com.obrekht.coffeeshops.R
import com.obrekht.coffeeshops.app.utils.setOnApplyWindowInsetsListener
import com.obrekht.coffeeshops.databinding.FragmentLoginBinding
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
Expand All @@ -28,6 +32,17 @@ class LoginFragment : Fragment(R.layout.fragment_login) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
_binding = FragmentLoginBinding.bind(view)

view.setOnApplyWindowInsetsListener { _, windowInsets, _, _ ->
val insets = windowInsets.getInsets(
WindowInsetsCompat.Type.ime() or WindowInsetsCompat.Type.systemBars()
)
view.updateLayoutParams<ViewGroup.MarginLayoutParams> {
bottomMargin = insets.bottom
}

windowInsets
}

with(binding) {
buttonLogin.setOnClickListener {
logIn()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@ package com.obrekht.coffeeshops.auth.ui.signup

import android.os.Bundle
import android.view.View
import android.view.ViewGroup
import android.view.inputmethod.EditorInfo
import androidx.annotation.StringRes
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updateLayoutParams
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.lifecycle.Lifecycle
Expand All @@ -13,6 +16,7 @@ import androidx.navigation.fragment.findNavController
import com.google.android.material.snackbar.Snackbar
import com.obrekht.coffeeshops.NavMainDirections
import com.obrekht.coffeeshops.R
import com.obrekht.coffeeshops.app.utils.setOnApplyWindowInsetsListener
import com.obrekht.coffeeshops.databinding.FragmentSignUpBinding
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
Expand All @@ -28,6 +32,17 @@ class SignUpFragment : Fragment(R.layout.fragment_sign_up) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
_binding = FragmentSignUpBinding.bind(view)

view.setOnApplyWindowInsetsListener { _, windowInsets, _, _ ->
val insets = windowInsets.getInsets(
WindowInsetsCompat.Type.ime() or WindowInsetsCompat.Type.systemBars()
)
view.updateLayoutParams<ViewGroup.MarginLayoutParams> {
bottomMargin = insets.bottom
}

windowInsets
}

with(binding) {
buttonSignUp.setOnClickListener {
signUp()
Expand Down

0 comments on commit 9f5b8be

Please sign in to comment.