码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2020-08-13 12:12:15      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:搜索   col   使用   解决方法   put   遥控器   href   问题   处理   

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

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

标签:搜索   col   使用   解决方法   put   遥控器   href   问题   处理   

原文地址:https://www.cnblogs.com/lsAxy/p/13492918.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!