From fc5bf12dac73d2d49bc22036bdbab63d514e4fa9 Mon Sep 17 00:00:00 2001 From: Natthan Krish <natthankrish@Neos-MacBook-Pro.local> Date: Tue, 2 Apr 2024 11:52:47 +0700 Subject: [PATCH] feat: login orientation --- .../bondoman/activities/LoginActivity.kt | 40 +++++++++++-------- .../bondoman/activities/MainActivity.kt | 3 ++ app/src/main/res/layout/activity_login.xml | 5 ++- 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt b/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt index 2c8e505..b97bd27 100644 --- a/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt +++ b/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt @@ -3,6 +3,7 @@ package com.example.bondoman.activities import android.animation.ObjectAnimator import android.app.Dialog import android.content.Intent +import android.content.res.Configuration import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.os.Bundle @@ -12,12 +13,15 @@ import android.view.animation.Animation import android.view.animation.AnimationUtils import android.view.animation.TranslateAnimation import android.util.Log +import android.view.View import android.widget.Button import android.widget.EditText import android.widget.ImageView +import android.widget.LinearLayout import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.cardview.widget.CardView +import androidx.constraintlayout.widget.ConstraintLayout import androidx.lifecycle.lifecycleScope import com.example.bondoman.R import com.example.bondoman.lib.SecurePreferences @@ -31,27 +35,18 @@ class LoginActivity : AppCompatActivity() { private lateinit var loginButton: Button private lateinit var loginRepository: AuthRepository private var loadingDialog: Dialog? = null - + private lateinit var layout: LinearLayout; override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) + layout = findViewById<LinearLayout>(R.id.layout) - Handler().postDelayed({ - // Transition to the login screen after SPLASH_DURATION - val cardLogin = findViewById<CardView>(R.id.login_card) - val logo = findViewById<ImageView>(R.id.imageView) - - val slideUpAnimation = AnimationUtils.loadAnimation(this@LoginActivity, R.anim.slide_up) - val finalY = cardLogin.y + (cardLogin.height - logo.height) / 2 - - val animatorY = ObjectAnimator.ofFloat(logo, "translationY", 0f + logo.height, finalY) - animatorY.duration = 600 - - animatorY.start() - cardLogin.startAnimation(slideUpAnimation) - cardLogin.visibility = CardView.VISIBLE - }, 1000) - + val orientation = resources.configuration.orientation + if (orientation == Configuration.ORIENTATION_LANDSCAPE) { + layout.orientation = LinearLayout.HORIZONTAL + } else { + layout.orientation = LinearLayout.VERTICAL + } Handler().postDelayed({ // Transition to the login screen after SPLASH_DURATION @@ -70,6 +65,7 @@ class LoginActivity : AppCompatActivity() { }, 1000) + val securePreferences = SecurePreferences(this) loginRepository = AuthRepository(securePreferences) if(securePreferences.getToken() != null){ @@ -87,6 +83,16 @@ class LoginActivity : AppCompatActivity() { } } + override fun onConfigurationChanged(newConfig: Configuration) { + super.onConfigurationChanged(newConfig) + val orientation = newConfig.orientation + if (orientation == Configuration.ORIENTATION_LANDSCAPE) { + layout.orientation = LinearLayout.HORIZONTAL + } else { + layout.orientation = LinearLayout.VERTICAL + } + } + private suspend fun login(email : String, password : String){ showLoadingDialog() val result = loginRepository.login(email, password) diff --git a/app/src/main/java/com/example/bondoman/activities/MainActivity.kt b/app/src/main/java/com/example/bondoman/activities/MainActivity.kt index 2b06061..54afb47 100644 --- a/app/src/main/java/com/example/bondoman/activities/MainActivity.kt +++ b/app/src/main/java/com/example/bondoman/activities/MainActivity.kt @@ -10,6 +10,7 @@ import android.os.Bundle import android.util.Log import android.view.MenuItem import android.view.View +import android.widget.LinearLayout import androidx.constraintlayout.widget.ConstraintLayout import androidx.fragment.app.Fragment import androidx.navigation.findNavController @@ -30,6 +31,7 @@ class MainActivity : AppCompatActivity() { private lateinit var navigationView: NavigationView; private lateinit var fragment: NavHostFragment; + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) @@ -67,6 +69,7 @@ class MainActivity : AppCompatActivity() { >(R.id.bottom_navigation_view) val navController = findNavController(R.id.nav_fragment) navigationView = findViewById<NavigationView>(R.id.navigation_view) + fragment = supportFragmentManager.findFragmentById(R.id.nav_fragment) as NavHostFragment val navFragmentLayoutParams = fragment.view?.layoutParams as ConstraintLayout.LayoutParams diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index bbe432c..085884f 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -9,6 +9,7 @@ android:layout_gravity="center" > <LinearLayout + android:id="@+id/layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" @@ -21,6 +22,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" + android:layout_marginHorizontal="30dp" app:srcCompat="@drawable/bondoman" /> @@ -31,6 +33,7 @@ android:layout_height="wrap_content" app:cardCornerRadius="30dp" app:cardElevation="4dp" + android:layout_marginVertical="20dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@+id/imageView" @@ -41,7 +44,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="20dp" - android:layout_marginVertical="30dp" + android:layout_marginVertical="20dp" android:orientation="vertical" > <TextView -- GitLab