标签: react-native-textinput

React native TextInput box-shadow

我想在TextInput上应用阴影,如下所示: 在此输入图像描述

我正在制作这种风格,使用阴影和海拔为android:

shadowColor: colors.shadowColor,
    shadowOpacity: 0.5,
    shadowRadius: 3,
    shadowOffset: {
      height: 0,
      width: 0,
    },
    elevation: 2,
Run Code Online (Sandbox Code Playgroud)

但是,结果并不像预期的那样.所以,我问是否有办法在不通过第三方包的情况下增强它. 在此输入图像描述

react-native react-native-textinput

7
推荐指数
1
解决办法
1506
查看次数

React Native - 当输入聚焦时单击不触发按钮

我目前正在 Android 上构建 React 本机移动应用程序,我意识到当输入聚焦时(用户在键盘上键入内容),单击事件不适用于其他元素。

例如,当用户在输入中键入内容时,如果用户想要单击“提交按钮”,则单击事件只会取消输入的焦点,但不会触发按钮上的单击事件。

有没有办法在输入焦点时使这两个事件发生?(取消焦点并单击都会触发的元素,就像在网页中一样)

我只发现这个主题似乎有类似的问题,但对我不起作用或者我使用错误? 当 TextInput 获得焦点时,不会触发任何触摸事件

我的代码看起来像这样:

import React, {useState} from 'react'
import { ScrollView, TextInput, TouchableOpacity} from 'react-native'

export default function App(){

    return (

        <ScrollView
            keyboardShouldPersistTaps="always"
        >
            <TextInput
                placeholder="Here is the input to be focused"
            />
            <TouchableOpacity
                style={{
                    backgroundColor : "#03a9f4"
                }}
                onPress={()=>{
                    console.log("Click triggered !")
                }}
            >
                Submit form
            </TouchableOpacity>
        </ScrollView>

    )

}
Run Code Online (Sandbox Code Playgroud)

javascript android reactjs react-native react-native-textinput

7
推荐指数
1
解决办法
2835
查看次数

如何在多行中换行文本反应本机 textInput

我正在尝试在 react native 中实现多行文本输入,但是当用户键入时,文本不会被换行,而是在同一行上水平书写,

我的文本输入的代码如下

<View style={[styles.container, props.containerStyles]}>
  <TextInput 
    style={styles.placeholderStyle} 
    placeholder={"Placeholder text"}
    value={this.state.reviewBody}
    onChangeText={body => this.setState({ reviewBody: body })}
    numberOfLines={5}
    textAlignVertical={"top"}
    textBreakStrategy={"highQuality"}
    underlineColorAndroid={"transparent"}
    autoCorrect
  />
</View>
Run Code Online (Sandbox Code Playgroud)

风格是,

const styles = StyleSheet.create({
  container: {
    flex: 1,
    borderWidth: 2,
    borderColor: "#f4f4f4",
    width: WIDTH - 40,
    maxWidth: WIDTH - 40,
    minWidth: WIDTH - 40,
    alignItems: "center",
    justifyContent: "space-between",
    paddingHorizontal: 5,
    marginTop: 10,
    flexWrap: "wrap",
  },
  placeholderStyle: {
    fontSize: 11,
    padding: 0,
    flex: 1,
    width: WIDTH - 40,
    maxWidth: WIDTH - 40,
    minWidth: WIDTH …
Run Code Online (Sandbox Code Playgroud)

textinput react-native react-native-textinput

6
推荐指数
1
解决办法
9125
查看次数

React Native TextInput:为什么 secureEntryText 移出输入框并有省略号?

我的 React Native 应用程序中有TextInput组件,当我添加secureEntryText: 'true'密码输入时,我注意到两件事:

1)当我输入密码时,输入密码的左边缘移出输入框的左侧,如下所示:

在此输入图像描述

2)当我取消密码输入焦点时,无论密码有多长,输入的密码末尾都会有一个省略号,如下所示:

在此输入图像描述

有谁知道我如何解决这些问题?

textinput reactjs react-native react-native-text react-native-textinput

6
推荐指数
1
解决办法
593
查看次数

React-native - TextInput 小数点在 iOS 上显示逗号而不是点

某些 iOS 设备似乎在小数点上显示,(逗号)而不是 a .。我相信这与键盘语言/语言环境有关。有没有一种方法可以强制无论键盘语言/语言环境如何都decimal-pad显示.

<TextInput
    rejectResponderTermination={false}
    style={[
        {
            fontSize: entryValueFontSize,
            height: height,
        },
        calculatorStyles.inputsShared,
        calculatorStyles.amountInput,
        theme.inputsShared,
    ]}
    autoCapitalize={'none'}
    placeholder={entryValueLabel}
    placeholderTextColor={theme.placeholderTextColor}
    keyboardType={'decimal-pad'}
    returnKeyType={'done'}
    defaultValue={''}
    value={isNaN(this.state.entryValue) ? '' : this.state.entryValue}
    onChangeText={(entryValue) => {
        this.onEntryValueChange(entryValue);
    }}
/>
Run Code Online (Sandbox Code Playgroud)

问题:

在此处输入图片说明

期望的输出:

在此处输入图片说明

react-native react-native-textinput

6
推荐指数
1
解决办法
539
查看次数

失去焦点后输入内容时,带有 secureTextEntry 的 TextInput 会自动清除

我有一个TextInputsecureTextEntry设置为true。当我执行以下步骤时,此输入不必要地清除其所有内容:

  1. 在TextInput中输入一些内容
  2. 执行任何操作来失去焦点(例如Keyboard.dismiss()
  3. 再次点击TextInput并输入内容
  4. 先前输入的文本立即清除,您开始在空白字段中输入

有没有办法禁用这种奇怪的行为并允许用户从停止的地方继续输入密码?

react-native react-native-textinput

5
推荐指数
0
解决办法
1437
查看次数

React Native:Android软键盘将View向上推

我制作了一张自定义动画底部表。它有两个捕捉点。它从屏幕顶部开始,如果向下滚动动画卡,它将出现在屏幕中间,再次向下滚动卡,它将出现在屏幕底部。如果用户用力向下滚动动画卡,那么它将一直滚动到底部。我将此组件制作为可重复使用的组件。

我制作了可重复使用的搜索组件

我将这两个组件导入到主应用程序组件中。在Animated-Bottom-sheet内,我放置了Search-component

我已经为键盘Animated.View设定了条件

  • 如果动画视图从屏幕中部移动到底部并搜索onFocus(键盘出现),则键盘将消失。

  • 如果动画视图位于屏幕底部并且搜索输入onfocus(出现键盘),则它将移动动画视图到屏幕中间。为了这个逻辑,我做了Keyboard.addListener('keyboardDidHide',()=>{....})

我的这个逻辑在 IOS 中完美运行,但在 Android 中,它将所有元素推到屏幕顶部。

有很多关于 KeyboardAvoidingView 的建议,但就我而言,它不起作用。

在react-native的android的AndroidManifest.xml文件中。我做了android:windowSoftInputMode="adjustPan"它,它监听Keyboard.addListener('keyboardDidHide'并将所有元素推到屏幕顶部,如果我做了,android:windowSoftInputMode="adjustPan|adjustResize"那么它不会监听Event-lister。结果,我的逻辑不起作用,它隐藏了 Android 键盘下的动画视图。根据RN-documentation,Event-lister 仅监听adjustResize or adjustPan

问题:

我真的不知道如何解决这个问题

Android 设备行为

演示版

代码演示

世博小吃

这是我的动画视图组件

import React, { useState } from "react";
import { StyleSheet, Dimensions, Platform, View, Keyboard } from "react-native";
import {
  PanGestureHandler,
  PanGestureHandlerGestureEvent,
} …
Run Code Online (Sandbox Code Playgroud)

keyboard android react-native react-native-textinput

5
推荐指数
1
解决办法
3342
查看次数

聚焦 TexInput 时如何处理后退按钮

这是Android的本机问题。

当 TextInput 被聚焦时,如何处理 Android 中的后退按钮? BackHandler.addEventListener('hardwareBackPress'. () => {})如果 TextInput 为焦点,则不会捕获任何事件。它会自动关闭键盘。

(实际上我想要实现的是在按下后退按钮并关闭键盘时移除光标)

你可以玩这个世博小吃来了解我在说什么:

android react-native react-native-textinput

4
推荐指数
2
解决办法
4339
查看次数

文本输入最小长度 React Native

有没有办法将文本输入限制在最小长度和最大长度之间。假设我想将文本输入长度限制在 5 到 15 之间,我该怎么做?

react-native react-native-ios react-native-textinput

4
推荐指数
1
解决办法
2万
查看次数

在嵌套的功能组件 React Native 中键入 TextInput 时键盘关闭

我有一个奇怪的问题,当 TextInput 放置在子功能组件中时,键盘在打字时一直关闭。如果 TextInput 直接放在父组件下,则不存在此问题。这是我的代码

const SignInScreenC = props => {

// define Hook states here    
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const [isEmailEmpty,setIsEmailEmpty] = useState(false);
const [isEmailValid,setIsEmailValid] = useState(true);
const [isPasswordEmpty,setIsPasswordEmpty] = useState(false);


/**
 * Called when Sign in is clicked.
 * checks if the form is valid
 */
 const _OnSignInClicked = () => {
   if(_isFormValid()) {
    //make api call
   }
 }

/* Checks if the form is valid
*/
const _isFormValid = () => …
Run Code Online (Sandbox Code Playgroud)

forms nested reactjs react-native react-native-textinput

4
推荐指数
1
解决办法
1828
查看次数