簡體   English   中英

如何在Android上的TextInput react-native中防止復制到剪貼板?

[英]How to prevent copy to clipboard in TextInput react-native on Android?

我想阻止用戶在TextInput中復制內容,但它僅適用於iOS,但不適用於Android。 我如何在Android中執行此操作?

[更新]:正如鏈接 @ patel-dhara在下面給出的那樣,我已經閱讀了有關contextMenuHidden屬性的提交,發現只在Android上處理onLongClick事件。 因此,仍然可以通過雙擊它來copy to clipboard TextInput copy to clipboard

這是我的代碼:

<TextInput
  style={styles.input}
  placeholder="Password"
  placeholderTextColor="rgba(255, 255, 255, 0.7)"
  underlineColorAndroid="transparent"
  secureTextEntry={isHidePass}
  returnKeyType="go"
  autoCapitalize="none"
  onChangeText={this.handleTextChange}
  onSubmitEditing={this.handleLogin}
  ref={this.passwordRef}
  contextMenuHidden
  onBlur={() => Clipboard.setString('')}
  onFocus={() => Clipboard.setString('')}
  onSelectionChange={() => Clipboard.setString('')}
/>

您可以使用TextInput的contextMenuHidden屬性。 它適用於平台Android和iOS。

<TextInput contextMenuHidden={true} />

但是,它可能在react-native版本0.55之后得到支持。 了解更多信息鏈接 提交鏈接: 鏈接

嘗試這個:

<TextInput caretHidden={true} selectTextOnFocus={false} />

用這個:

<View pointerEvents="none">
  <TextInput ... />
</View>

用於查看的結帳指針事件: https//facebook.github.io/react-native/docs/view#pointerevents

另一個選項:嘗試清除剪貼板

<TextInput onFocus={() => Clipboard.setString('')} onSelectionChange={() => Clipboard.setString('')}/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM