React Native 解决键盘挡住输入框问题 和 React Native WebView 解决键盘挡住输入框问题

转载请注明预见才能遇见的博客:http://my.csdn.net/

原文地址:https://blog.csdn.net/pcaxb/article/details/84939301

React Native 解决键盘挡住输入框问题  和 React Native WebView 解决键盘挡住输入框问题

 

1.React Native WebView 解决键盘挡住输入框问题(不需要2)

       if(/Android [4-6]/.test(navigator.appVersion)) {
            window.addEventListener("resize", function() {
                if(document.activeElement.tagName=="INPUT" ||         
                         document.activeElement.tagName=="TEXTAREA") {
                    window.setTimeout(function() {
                        document.activeElement.scrollIntoViewIfNeeded();
                    },0);
                }
            })
        }

2.React Native 解决键盘挡住输入框问题


import {Keyboard,Dimensions} from 'react-native';

//屏幕的高度
let ScreenHeight = Dimensions.get('window').height;

export default class WebViewPageAndroid extends Component {

    constructor(props) {
        super(props);
        this.state = {
            webViewHeight:ScreenHeight,
        }
    }

    componentDidMount(){
        this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this._keyboardDidShow.bind(this)); 
        this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this._keyboardDidHide.bind(this));
    }

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

    _keyboardDidShow (e) {
        this.setState({webViewHeight:ScreenHeight - e.endCoordinates.height})
    } 
        
    _keyboardDidHide (e) {
        this.setState({webViewHeight:ScreenHeight})
    }

    render() {
        return (
            <View style={{
                	height:this.state.webViewHeight
				}}>

                <WebView
                style={{
                    height:'100%',
                }}
                />

            </View>
        );
    }
}

说明:React Native WebView的只需要1就能解决,React Native 的组件就用2。

 

React Native 解决键盘挡住输入框问题  和 React Native WebView 解决键盘挡住输入框问题

博客地址:https://blog.csdn.net/pcaxb/article/details/84939301

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值