2017-12-29 7 views
0

Ich versuche, Ereignisse auf der Tastatur Show/Hide Ereignisse auf Android mit React Native zu erfassen. Ich steckte in einer Sackgasse fest.KeyboardDidShow/Hide-Ereignisse funktionieren nicht auf Android mit AdjustResize Einstellung

Hier ist mein Manifest Einstellung:

<activity 
    android:launchMode="singleTop" 
    android:name=".MainActivity" 
    android:screenOrientation="portrait" 
    android:label="@string/app_name" 
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize" 
    android:windowSoftInputMode="adjustResize"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
     <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/> 
    </intent-filter> 
</activity> 

Und hier ist meine RN Komponente:

import React, {Component} from 'react'; 
import { 
    View,Keyboard 
} from 'react-native'; 

export default class KeyboardAwareComponent extends Component { 
    componentDidMount() { 
     Keyboard.addListener("keyboardDidShow",()=>{ 
      console.log("Show event"); 
     }) 
    } 

    render() { 
     return <View /> 
    } 
} 

im Voraus Danke soviel :)

Antwort

0

Hier sind einige Ereignisse aus den Riesen Dokumente

keyboardWillShow

keyboardDidShow

keyboardWillHide

keyboardDidHide

keyboardWillChangeFrame

keyboardDidChangeFrame

import React, { Component } from 'react'; 
import { Keyboard, TextInput } from 'react-native'; 

class Example extends Component { 
    componentWillMount() { 
    this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this._keyboardDidShow); 
    this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this._keyboardDidHide); 
    } 

    componentWillUnmount() { 
    this.keyboardDidShowListener.remove(); 
    this.keyboardDidHideListener.remove(); 
    } 

    _keyboardDidShow() { 
    alert('Keyboard Shown'); 
    } 

    _keyboardDidHide() { 
    alert('Keyboard Hidden'); 
    } 

    render() { 
    return (
     <TextInput 
     onSubmitEditing={Keyboard.dismiss} 
     /> 
    ); 
    } 
} 
+0

Ich weiß über diese Ereignisse ... Aber keiner von ihnen arbeitet unter Android. –

+0

https://github.com/facebook/react-native/issues/10613 –

+0

Vielen Dank .... Habe es –

Verwandte Themen