• react-native中textInput在androidTV上的焦点处理(坑篇)


    react-native中,开发androidTV输入框的焦点处理。

    复述流程: 安卓TV上,无法通过上下左右键,以及遥控器的上下左右来获取输入框焦点。

    原因: 脸书的锅,但没修,这里官方的说法,TextInput在Android TV设备上不起作用。本机ReactEditText实现存在一个问题,使它无法获得关注。这样就无法导航到TextInput

    解决方法:使用touchable来转发焦点。

    如:

     1 import { TextInput, TouchableHighlight } from 'react-native'
     2 
     3 
     4 // render函数中
     5 // JSX语法
     6 render() {
     7   return (
     8         <TouchableHighlight
     9             onFocus={() => {
    10                 this.textInputRef.focus();
    11               }}>
    12             <TextInput
    13               ref={(ref) => {
    14                  this.textInputRef = ref;
    15               }}/>
    16         </TouchableHighlight>
    17     )  
    18 }                

    为什么要这样做?

    使用react-native开发安卓手机的人可能没有注意过这个点,毕竟可以使用点击来获取焦点,但是在一些机器上,比如键盘机,以及TV这种情况下,是无法根据点击来获取焦点的。

    这个问题起源于我在github上的一个提问。主要发现很少人提及这个问题,以及搜索没这方面的说明, 也就写这个问题。

    issue地址:https://github.com/reactnativecn/react-native-website/issues/225

    以梦为马
  • 相关阅读:
    ZOJ Problem Set
    ZOJ Problem Set
    UVa 11464 偶数矩阵 枚举
    poj 1753 枚举
    Codeforces 637D 模拟
    hdu 5631 并查集
    hdu 5438 并查集
    UVa 10129 单词 (有向欧拉路+并查集)
    hdu 3018 欧拉路定理+并查集
    并查集的初步学习
  • 原文地址:https://www.cnblogs.com/lsAxy/p/13492918.html
Copyright © 2020-2023  润新知