2017-12-29 15 views
0

React Native을 사용하여 Android의 키보드 표시/숨기기 이벤트에서 이벤트를 캡처하려고합니다. 나는 막 다른 골목에 갇혔다. adjustResize 설정을 사용하여 Android에서 KeyboardDidShow/Hide 이벤트가 작동하지 않습니다.

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 /> 
    } 
} 

가에서 바로 몇 가지 이벤트를 여기에 :) 사전에 당신에게

답변

0

을 너무 감사하다 : 여기

내 매니페스트 설정입니다 :

<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> 

그리고 여기 내 RN 구성 요소입니다 docs.

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

나는 그 사건에 대해 안다. 그러나 그들 중 누구도 안드로이드에서 일하고 있지 않다. –

+0

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

+0

정말 고마워요. 알았어요. –