【React Native】Viewコンポーネントで三角形を作る

以前、「【CSS】画像の左上隅に「NEW!!」の三角形を配置する方法」という記事を投稿しましたが、今回はそれを React Native で行う方法です。

参考にさせていただいた記事はこちらから。

The Shapes of React Native
https://codedaily.io/tutorials/22/The-Shapes-of-React-Native

 

完成形のスクリーンショットはこちら。

カードコンポーネントの右上の赤い三角形がそうです。

サンプルコードは下記のとおりです。

import React from 'react';
import { View, Text, StyleSheet } from 'react-native';

const styles = StyleSheet.create({
  new: {
    position: 'absolute',
    transform: [{ rotate: '90deg'}],
    right: 0,
    width: 0,
    height: 0,
    backgroundColor: "transparent",
    borderStyle: "solid",
    borderRightWidth: 50,
    borderTopWidth: 50,
    borderRightColor: "transparent",
    borderTopColor: "red",
  },
  newText: {
    position: 'absolute',
    right: 2,
    top: 8,
    transform: [{ rotate: '45deg'}],
    color: '#FFF',
  }
});

const NewLabel = () => (
  <><View style={styles.new} /><Text style={styles.newText}>New!</Text></>
);

export default NewLabel;

とりあえず上記をそのまま追加して貰えば、要素の右上に「New!」と書かれた赤い三角形が表示されるはずです。
実装手順は以上です!

なお、参考にさせていただいたサイトを見てみると、他にも星形や六角形など、様々な図形も描画できるようでした。
今のところ、使いどころはないのですが、いつか使う機会があれば、参考にさせていただきたいですね。

 

以上、React Native の View で三角形をつくる方法についてでした。
ご参考になれば幸いです。

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

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

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

CTR IMG