Limit the width of the login screen in landscape mode to be easier on the eye.

This commit is contained in:
Antoine POPINEAU 2020-06-26 20:03:48 +02:00
parent 72ba8733b3
commit 100514cde6
No known key found for this signature in database
GPG Key ID: A78AC64694F84063
2 changed files with 25 additions and 0 deletions

View File

@ -1,10 +1,13 @@
package com.github.apognu.otter.activities package com.github.apognu.otter.activities
import android.content.Intent import android.content.Intent
import android.content.res.Configuration
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.doOnLayout
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.github.apognu.otter.R import com.github.apognu.otter.R
import com.github.apognu.otter.fragments.LoginDialog import com.github.apognu.otter.fragments.LoginDialog
@ -27,6 +30,8 @@ class LoginActivity : AppCompatActivity() {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login) setContentView(R.layout.activity_login)
limitContainerWidth()
} }
override fun onResume() { override fun onResume() {
@ -79,6 +84,12 @@ class LoginActivity : AppCompatActivity() {
} }
} }
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
limitContainerWidth()
}
private fun authedLogin(hostname: String, username: String, password: String) { private fun authedLogin(hostname: String, username: String, password: String) {
val body = mapOf( val body = mapOf(
"username" to username, "username" to username,
@ -180,4 +191,16 @@ class LoginActivity : AppCompatActivity() {
} }
} }
} }
private fun limitContainerWidth() {
container.doOnLayout {
if (resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE && container.width >= 1440) {
container.layoutParams.width = 1440
} else {
container.layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT
}
container.requestLayout()
}
}
} }

View File

@ -5,8 +5,10 @@
android:background="@color/colorPrimary"> android:background="@color/colorPrimary">
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto" <LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center" android:gravity="center"
android:orientation="vertical" android:orientation="vertical"
android:padding="32dp"> android:padding="32dp">