【React Native】Viewを半透明にした時の注意点

React Native で躓きそうなところがあったので備忘録としてまとめ。
タイトル通り、View を半透明にした時の挙動についてです。

 

要素の透明度は opacity で指定することができるのですが、親要素にこれを指定すると、子要素までその透明度が引き継がれてしまうようでした。
例えば、親要素の Viewopacity を使って半透明にしていると、子要素に Image などを配置した場合、この画像まで半透明になってしまいます。
これは非常に困るので、どうにかしたい!と思っていたところ、下記の記事を発見しました。

ReactNativeで半透過なViewをつくる – Qiita
https://qiita.com/shim0mura/items/fcdee0165c462a2934d7

上記の記事によると opacity を使うのではなく、backgroundColorrgba() を使えばいいのだそうです。
rgba() を使えば、子要素の透明度に影響は出ないので、どうしても opacity でなければいけない!という場合を除き、backgroundColor で透明度をしていするようにしましょう。
…というか、React Native でも rgba() って使えるんですね…。
まだ、React Native のスタイルでどれが使えるかがはっきりわかっていないところがあったので、ちょっと盲点でした。

 

以上、React Native で View を半透明にした時の挙動と注意点についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG