fixed responsive bugs
This commit is contained in:
@ -11,8 +11,11 @@ import android.widget.EditText
|
|||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import android.widget.ProgressBar
|
import android.widget.ProgressBar
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import com.dano.test1.network.DatabaseDownloader
|
import com.dano.test1.network.DatabaseDownloader
|
||||||
import com.dano.test1.network.LoginManager
|
import com.dano.test1.network.LoginManager
|
||||||
import com.dano.test1.network.TokenStore
|
import com.dano.test1.network.TokenStore
|
||||||
@ -36,6 +39,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
private fun t(key: String): String = LanguageManager.getText(bootLanguageId, key)
|
private fun t(key: String): String = LanguageManager.getText(bootLanguageId, key)
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
enableEdgeToEdge()
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
// === Offline-Start ermöglichen ===
|
// === Offline-Start ermöglichen ===
|
||||||
@ -205,6 +209,16 @@ class MainActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
// --- /LIVE NETZSTATUS ---
|
// --- /LIVE NETZSTATUS ---
|
||||||
|
|
||||||
|
override fun onContentChanged() {
|
||||||
|
super.onContentChanged()
|
||||||
|
val content = findViewById<View>(android.R.id.content) ?: return
|
||||||
|
ViewCompat.setOnApplyWindowInsetsListener(content) { v, insets ->
|
||||||
|
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||||
|
v.setPadding(bars.left, bars.top, bars.right, bars.bottom)
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun onConfigurationChanged(newConfig: Configuration) {
|
override fun onConfigurationChanged(newConfig: Configuration) {
|
||||||
super.onConfigurationChanged(newConfig)
|
super.onConfigurationChanged(newConfig)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,16 @@
|
|||||||
package com.dano.test1.ui
|
package com.dano.test1.ui
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.view.View
|
||||||
import android.widget.Button
|
import android.widget.Button
|
||||||
import android.widget.RadioButton
|
import android.widget.RadioButton
|
||||||
import android.widget.RadioGroup
|
import android.widget.RadioGroup
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.appcompat.widget.SwitchCompat
|
import androidx.appcompat.widget.SwitchCompat
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import com.dano.test1.R
|
import com.dano.test1.R
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -19,9 +23,18 @@ class DevSettingsActivity : AppCompatActivity() {
|
|||||||
private lateinit var radioGroup: RadioGroup
|
private lateinit var radioGroup: RadioGroup
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
enableEdgeToEdge()
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(R.layout.activity_dev_settings)
|
setContentView(R.layout.activity_dev_settings)
|
||||||
|
|
||||||
|
findViewById<View>(android.R.id.content)?.let { content ->
|
||||||
|
ViewCompat.setOnApplyWindowInsetsListener(content) { v, insets ->
|
||||||
|
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||||
|
v.setPadding(bars.left, bars.top, bars.right, bars.bottom)
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
val toolbar = findViewById<Toolbar>(R.id.devSettingsToolbar)
|
val toolbar = findViewById<Toolbar>(R.id.devSettingsToolbar)
|
||||||
setSupportActionBar(toolbar)
|
setSupportActionBar(toolbar)
|
||||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||||
|
|||||||
@ -22,7 +22,8 @@ object ViewUtils {
|
|||||||
*/
|
*/
|
||||||
fun setTextSizePercentOfScreenHeight(view: TextView, percentOfHeight: Float) {
|
fun setTextSizePercentOfScreenHeight(view: TextView, percentOfHeight: Float) {
|
||||||
val dm = view.context.resources.displayMetrics
|
val dm = view.context.resources.displayMetrics
|
||||||
val sp = (dm.heightPixels * percentOfHeight) / dm.scaledDensity
|
val shortSide = minOf(dm.heightPixels, dm.widthPixels)
|
||||||
|
val sp = (shortSide * percentOfHeight) / dm.scaledDensity
|
||||||
TextViewCompat.setAutoSizeTextTypeWithDefaults(view, TextViewCompat.AUTO_SIZE_TEXT_TYPE_NONE)
|
TextViewCompat.setAutoSizeTextTypeWithDefaults(view, TextViewCompat.AUTO_SIZE_TEXT_TYPE_NONE)
|
||||||
view.setTextSize(TypedValue.COMPLEX_UNIT_SP, sp)
|
view.setTextSize(TypedValue.COMPLEX_UNIT_SP, sp)
|
||||||
}
|
}
|
||||||
@ -33,8 +34,9 @@ object ViewUtils {
|
|||||||
*/
|
*/
|
||||||
fun <T> setupResponsiveSpinner(context: Context, spinner: Spinner, items: List<T>, selectedItem: T?) {
|
fun <T> setupResponsiveSpinner(context: Context, spinner: Spinner, items: List<T>, selectedItem: T?) {
|
||||||
val dm = context.resources.displayMetrics
|
val dm = context.resources.displayMetrics
|
||||||
|
val shortSide = minOf(dm.heightPixels, dm.widthPixels)
|
||||||
|
|
||||||
fun spFromScreenHeight(percent: Float): Float = (dm.heightPixels * percent) / dm.scaledDensity
|
fun spFromScreenHeight(percent: Float): Float = (shortSide * percent) / dm.scaledDensity
|
||||||
fun pxFromSp(sp: Float): Int = (sp * dm.scaledDensity).toInt()
|
fun pxFromSp(sp: Float): Int = (sp * dm.scaledDensity).toInt()
|
||||||
|
|
||||||
val textSp = spFromScreenHeight(0.0275f)
|
val textSp = spFromScreenHeight(0.0275f)
|
||||||
|
|||||||
Reference in New Issue
Block a user