【ReactNative】ボタンの作り方_Touchable系コンポーネントを使ってみた
本記事の内容
  • buttonコンポーネントを使わずにボタンを作りたい人
  • ボタンのカスタマイズができずに困っている人

という疑問、悩みをお持ちの方向けの記事になっています。

本記事では、以下のようなボタンを作っていきます。

1. 概要

ReactNativeには、ボタンを簡単に作ることができるようにBottonコンポーネントが用意されていますが、色が変更できなかったり、大きさが変更できなかったりします。
ボタンの「色」や「大きさ」を自由に変更したい時は、Touchable系のコンポーネントを使うことで、好きなようにボタンを作ることができます。

本記事は、そのTouchable系のコンポーネントについて解説していきます。

2. Touchable系コンポーネント

Touchable系コンポーネントは、以下の3種類のコンポーネントがあります。
1. TouchableHighlight
2. TouchableOpacity
3. TouchableWithoutFeedback

これらについて順番に解説していきます。

2.1 TouchableHighlight

TouchableHighlightの特徴

Viewコンポーネントにボタンのような機能を持たせることができ、ボタンを押した時に、色をつけつことができるのが特徴です。
公式ドキュメント:TouchableHighlight

結果
サンプルコード

プロパティ

TouchableHighlightプロパティ
onPress ボタンを押した時のイベントを設定する。設定していない場合、ボタンとして機能しない。
activeOpacity ボタンを押した時に透過される割合を設定する。設定値は、0から1までの値を設定する。
設定しない場合は、デフォルト値の0.85が設定される。
underlayColor ボタンを押した時の色を設定。設定していない場合は、黒が設定される。

2.2 TouchableOpacity

TouchableOpacityの特徴

TouchableHighlightと基本的に同じ機能を持っているが、違う点として、ボタンを押した時の色を指定できないところです。(色指定はできないですが、透過具合の変更は可能です。)
公式ドキュメント:TouchableOpacity

ちょっと画像が見にくいと思いますが・・・

2.3 TouchableWithoutFeedback

TouchableWithoutFeedbackの特徴

公式ドキュメントに「特別な理由がない限り使用しないでください。」と書かれているため、私は、使ったことがないですね。
公式ドキュメント:TouchableWithoutFeedback

3. FAB

Touchable系コンポーネントの他にボタンを作成することができるライブラリです。
デザインが好きで、このライブラリを使うこともあります。

3.1 react-native-fabインストール方法

下記のコマンドでreact-native-fabライブラリをインストールできます。


ぜひ、一度試してみてください。
react-native-fab

4. まとめ

Buttonコンポーネントを使って、ボタンを作成しても良いですが、個人的には、好きなようにカスタマイズができる「TouchableHighlight」コンポーネントでボタンを作成するのがお勧めですね!