keyboard.frame
The shown keyboard's frame on screen, in points; null while it is hidden. A motion value the UI thread moves from the keyboard's own events, so a view bound to it moves without the JS thread; read it anywhere.
Utilização
Dismiss and observe the keyboard
import { Box, Button, Text, VStack, keyboard } from 'kuito';
export default function KeyboardState() {
keyboard.frame.value; // { screenX, screenY, width, height } or null
// In a component, until it unmounts; elsewhere, until remove().
keyboard.watch('didShow', (event) => console.log(event.frame.height, event.duration));
return (
<VStack>
<Text>{keyboard.visible.value ? 'typing' : ''}</Text>
{/* Rides on the keyboard. */}
<Box translateY={keyboard.height.map((height) => -height)} />
<Button onPress={() => keyboard.dismiss()}>Done</Button>
</VStack>
);
}Propriedades e métodos 3
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
value | KeyboardFrame | Sim | A value moves there now; an animation (timing, spring, decay, ...) moves it there. |
follows | (source: GestureSource | Readable<KeyboardFrame>) => Motion<KeyboardFrame> | Sim | Moves with source on the UI thread, with no code: a gesture's field
(drag.x), another motion value or a derived one. Null stops it. |
map | <U>(fn: (value: KeyboardFrame) => U) => Derived<U> | Sim | A value computed from this one, on the UI thread. |
follows — assinaturas de método
Assinaturas
(source: GestureSource | Readable<KeyboardFrame>): Motion<KeyboardFrame>Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
source | GestureSource | Readable<KeyboardFrame> | Sim | — |
Devolve
map — assinaturas de método
Assinaturas
<U>(fn: (value: KeyboardFrame) => U): Derived<U>Parâmetros de tipo
| Nome | Restrição | Predefinição |
|---|---|---|
U | — | — |
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
fn | (value: KeyboardFrame) => U | Sim | — |
Devolve
Derived<U>
Gerado a partir das declarações TypeScript públicas: assinaturas, props e predefinições vêm da fonte verificada, as descrições da sua JSDoc. Nenhuma predefinição é inventada.