mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 16:35:33 +00:00
Handling invalid orientations updating orientation logic refresh webview height if ApplyKeyboardHeight() has been applied without KB active I ran into a bug building this code into app-builders and fixed it downstream. This commit pushes it upstream. While resize dialog is open: - Keyboard WebView is NOT loaded (isKeyboardLoaded() == false) - ACTION_UP saves to SharedPreferences: ✅ Works -But skips WebView layout update: ❌ Because keyboard not loaded - User exits dialog, keyboard appears: - If the keyboard WebView loads and reads from SharedPreferences properly: ✅ Works - But if there's a timing issue or the WebView had old layout params cached: ❌ Touch zone mismatch
59 lines
1.4 KiB
Markdown
59 lines
1.4 KiB
Markdown
---
|
|
title: KMManager.getKeyboardHeight()
|
|
---
|
|
|
|
## Summary
|
|
|
|
The **`getKeyboardHeight()`** method returns the height of the keyboard
|
|
frame.
|
|
|
|
## Syntax
|
|
|
|
``` javascript
|
|
KMManager.getKeyboardHeight(Context context)
|
|
```
|
|
or
|
|
``` javascript
|
|
KMManager.getKeyboardHeight(Context context, int orientation)
|
|
```
|
|
|
|
### Parameters
|
|
|
|
`context`
|
|
: The context.
|
|
|
|
`orientation` _(Optional)_
|
|
: Accepts a [screen orientation](https://developer.android.com/training/multiscreen/screensizes#TaskUseOriQuali) value. This is most useful if you want to get the size of the keyboard in the other (non-current) orientation. If `orientation` parameter is not passed in, keyboard height is returned for the current device orientation.
|
|
|
|
### Returns
|
|
|
|
Returns the height of the keyboard frame in *density-independent pixels
|
|
(dp)*.
|
|
|
|
## Description
|
|
|
|
Use this method to get the height of the keyboard frame.
|
|
|
|
## Examples
|
|
|
|
### Example: Using `getKeyboardHeight()`
|
|
|
|
The following script illustrate the use of `getKeyboardHeight()`:
|
|
|
|
``` javascript
|
|
int keyboardHeight = KMManager.getKeyboardHeight(this);
|
|
```
|
|
or
|
|
```java
|
|
import android.content.res.Configuration;
|
|
...
|
|
// Get the current Keyman keyboard height for landscape mode.
|
|
|
|
int keyboardHeightLandscape = KMManager.getKeyboardHeight(this, Configuration.ORIENTATION_LANDSCAPE);
|
|
```
|
|
|
|
## See also
|
|
|
|
- [applyKeyboardHeight()](applyKeyboardHeight)
|
|
- [getKeyboardHeightMax](getKeyboardHeightMax)
|
|
- [getKeyboardHeightMin](getKeyboardHeightMin)
|