Я использовал новое решение.
.squares{
width: 30vw
height: 30vw
К основному соотношению сторон
.aspect-ratio
width: 10vw
height: 10vh
Однако это касается всего окна просмотра. Итак, если вам нужен div, который составляет 30% ширины видового экрана, вместо этого вы можете использовать 30vw, и, поскольку вы знаете ширину, вы будете использовать их по высоте с помощью модуля calc и vw.
Решение зафиксировать его для веб-представления, обратите внимание, что это обрабатывает только пробел , но можно расширить отображение
KeyEvent.KEYCODE_SPACE => keyCode
.
class MyWebview: WebView {
override fun onCreateInputConnection(outAttrs: EditorInfo): InputConnection? {
return BaseInputConnection(this, true)
}
override fun dispatchKeyEvent(event: KeyEvent?): Boolean {
val dispatchFirst = super.dispatchKeyEvent(event)
// Android sends keycode 229 when space button is pressed(and other characters, except new line for example)
// So we send SPACE CHARACTER(here we handles only this case) with keyCode = 32 to browser explicitly
if (event?.keyCode == KeyEvent.KEYCODE_SPACE) {
if (event.action == KeyEvent.ACTION_DOWN) {
evaluateJavascript("javascript:keyDown(32)", null)
} else if (event.action == KeyEvent.ACTION_UP) {
evaluateJavascript("javascript:keyUp(32)", null)
}
}
return dispatchFirst
}
}