# rntpc_react-native-custom-keyboard
**Repository Path**: openharmony-sig/rntpc_react-native-custom-keyboard
## Basic Information
- **Project Name**: rntpc_react-native-custom-keyboard
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: https://gitee.com/openharmony-sig/rntpc_react-native-custom-keyboard
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-10-14
- **Last Updated**: 2025-05-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🚨 **重要提示 | IMPORTANT**
>
> **⚠️ 此代码仓已归档。新地址请访问 [rntpc_react-native-custom-keyboard](https://gitcode.com/openharmony-sig/rntpc_react-native-custom-keyboard)。| ⚠️ This repository has been archived. For the new address, please visit [rntpc_react-native-custom-keyboard](https://gitcode.com/openharmony-sig/rntpc_react-native-custom-keyboard).**
>
---
>
# react-native-custom-keyboard
## Getting started
`$ npm install react-native-custom-keyboard --save`
### Mostly automatic installation
`$ react-native link react-native-custom-keyboard`
### Manual installation
#### iOS
1. In XCode, in the project navigator, right click `Libraries` ➜ `Add Files to [your project's name]`
2. Go to `node_modules` ➜ `react-native-custom-keyboard` and add `RNCustomKeyboard.xcodeproj`
3. In XCode, in the project navigator, select your project. Add `libRNCustomKeyboard.a` to your project's `Build Phases` ➜ `Link Binary With Libraries`
4. Run your project (`Cmd+R`)<
#### Android
1. Open up `android/app/src/main/java/[...]/MainActivity.java`
- Add `import cn.reactnative.customkeyboard.RNCustomKeyboardPackage;` to the imports at the top of the file
- Add `new RNCustomKeyboardPackage()` to the list returned by the `getPackages()` method
2. Append the following lines to `android/settings.gradle`:
```
include ':react-native-custom-keyboard'
project(':react-native-custom-keyboard').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-custom-keyboard/android')
```
3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:
```
compile project(':react-native-custom-keyboard')
```
## Usage
Register a component as custom keyboard:
```javascript
import React, { Component } from 'react';
import {
TouchableOpacity,
Text,
View,
} from 'react-native';
import { register, insertText } from 'react-native-custom-keyboard';
class MyKeyboard extends Component {
onPress = () => {
insertText(this.props.tag, 'Hello, world');
};
render() {
return (
Hello, world
);
}
}
register('hello', () => MyKeyboard);
```
Use `CustomTextInput` instead of `TextInput`.
```javascript
import React, { Component } from 'react';
import {CustomTextInput} from 'react-native-custom-keyboard';
class MyPage extends Component {
state = {
value: '';
};
onChangeText = text => {
this.setState({value: text});
};
render() {
return (
);
}
}
```
## API
### register(type, type)
Register a custom keyboard type.
### install(tag, type)
Install custom keyboard to a `TextInput`.
Generally you can use CustomTextInput instead of this. But you can use this API
to install/change custom keyboard dynamically.
### uninstall(tag)
Uninstall custom keyboard from a `TextInput` dynamically.
### insertText(tag, text)
Use in a custom keyboard, insert text to `TextInput`.
### backSpace(tag)
Use in a custom keyboard, delete selected text or the charactor before cursor.
### doDelete(tag)
Use in a custom keyboard, delete selected text or the charactor after cursor.
### moveLeft(tag)
Use in a custom keyboard, move cursor to selection start or move cursor left.
### moveRight(tag)
Use in a custom keyboard, move cursor to selection end or move cursor right.
### switchSystemKeyboard(tag)
Use in a custom keyboard. Switch to system keyboard.
Next time user press or focus on the `TextInput`, custom keyboard will
appear again. To keep using system keyboard, call `uninstall` instead.
### CustomTextInput
Use instead of `TextInput`, this component support all properties of `TextInput`.
#### prop: customKeyboardType: string
Use a registered custom keyboard.