mirror of
https://github.com/MatsuriDayo/NekoBoxForAndroid.git
synced 2025-12-18 22:20:06 +08:00
fix: Configuration editor keyboard does not display when IME is visible
This commit is contained in:
parent
096ed13310
commit
50ca7127fd
@ -45,7 +45,7 @@ dependencies {
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4")
|
||||
implementation("androidx.core:core-ktx:1.9.0")
|
||||
implementation("androidx.recyclerview:recyclerview:1.3.0")
|
||||
implementation("androidx.activity:activity-ktx:1.7.0")
|
||||
implementation("androidx.activity:activity-ktx:1.10.1")
|
||||
implementation("androidx.fragment:fragment-ktx:1.5.6")
|
||||
implementation("androidx.browser:browser:1.5.0")
|
||||
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
|
||||
|
||||
@ -5,8 +5,12 @@ import android.content.DialogInterface
|
||||
import android.os.Bundle
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.ViewGroup.MarginLayoutParams
|
||||
import android.widget.LinearLayout
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import androidx.core.widget.addTextChangedListener
|
||||
import com.blacksquircle.ui.editorkit.insert
|
||||
import com.blacksquircle.ui.language.json.JsonLanguage
|
||||
@ -17,7 +21,9 @@ import io.nekohasekai.sagernet.Key
|
||||
import io.nekohasekai.sagernet.R
|
||||
import io.nekohasekai.sagernet.database.DataStore
|
||||
import io.nekohasekai.sagernet.databinding.LayoutEditConfigBinding
|
||||
import io.nekohasekai.sagernet.ktx.*
|
||||
import io.nekohasekai.sagernet.ktx.getColorAttr
|
||||
import io.nekohasekai.sagernet.ktx.readableMessage
|
||||
import io.nekohasekai.sagernet.ktx.toStringPretty
|
||||
import io.nekohasekai.sagernet.ui.ThemedActivity
|
||||
import io.nekohasekai.sagernet.widget.ListListener
|
||||
import moe.matsuri.nb4a.ui.ExtendedKeyboard
|
||||
@ -100,6 +106,23 @@ class ConfigEditActivity : ThemedActivity() {
|
||||
extendedKeyboard.submitList("{},:_\"".map { it.toString() })
|
||||
extendedKeyboard.setBackgroundColor(getColorAttr(R.attr.primaryOrTextPrimary))
|
||||
|
||||
val keyboardContainer = findViewById<LinearLayout>(R.id.keyboard_container)
|
||||
ViewCompat.setOnApplyWindowInsetsListener(keyboardContainer) { v, windowInsets ->
|
||||
val imeInsets = windowInsets.getInsets(WindowInsetsCompat.Type.ime())
|
||||
val systemBarInsets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
val imeVisible = windowInsets.isVisible(WindowInsetsCompat.Type.ime())
|
||||
v.updateLayoutParams<MarginLayoutParams> {
|
||||
// systemBar insets are applied to the bottom of the keyboard
|
||||
if (imeVisible) {
|
||||
bottomMargin = imeInsets.bottom - systemBarInsets.bottom
|
||||
} else {
|
||||
bottomMargin = 0
|
||||
}
|
||||
}
|
||||
|
||||
WindowInsetsCompat.CONSUMED
|
||||
}
|
||||
|
||||
ViewCompat.setOnApplyWindowInsetsListener(binding.root, ListListener)
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user