1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

アイコンの使い方

Posted at

expoのアイコンを使ってみる

ライブラリをインストール

npm install @expo/vector-icons

どんなアイコンがあるかは、下記のページを参照する。

プラスアイコンを使ってみる

https://icons.expo.fyi/
ページの検索バーにplusと入れる。

スクリーンショット 2021-11-27 20.24.55.png

好きなアイコンをクリックしてみると、下記のような画面になる。
スクリーンショット 2021-11-27 20.26.25.png

この2行をコピーしてCircleButtonに適用してみる。
propsでiconを変更できるようにnameを親から受け取れるようにした。

CircleButton.jsx

import React from 'react';
import { View, StyleSheet } from 'react-native';
import { string, shape } from 'prop-types';
import { Feather } from '@expo/vector-icons'; 

// eslint-disable-next-line react/function-component-definition
export default function CircleButton(props) {
  const { style, name } = props;
  return (
    <View style={[styles.circleButton, style]}>
      <Feather name={name} size={30} color="white" />
    </View>
  );
}

CircleButton.propTypes = {
  style: shape(),
  name: string.isRequired,
};

CircleButton.defaultProps = {
  style: null,
};

const styles = StyleSheet.create({
  circleButton: {
    backgroundColor: '#D81B60',
    width: 65,
    height: 65,
    borderRadius: 32,
    justifyContent: 'center',
    alignItems: 'center',
    position: 'absolute',
    right: 40,
    bottom: 40,
    /* shadowはiphoneにしか効かないCSS */
    shadowColor: '#000',
    shadowOffset: { width: 0, height: 8 },
    shadowOpacity: 0.35,
    shadowRadius: 5,
    /* elevationはAndroid用のCSS */
    elevation: 8,
  },
  circleButtonLabel: {
    color: '#fff',
    fontSize: 32,
    lineHeight: 32,
    fontWeight: 'bold',
  },
});

親コンポーネントで下記のように使える。

<CircleButton style={{ top: 170, bottm: 'auto' }} name="plus" />

注意点

今回はCircleButton.jsxのコンポーネント内にFeatherのアイコンを使用している。
なので、どんなアイコンが使えるかは、
https://icons.expo.fyi/
で、FiltersでFeatherを選択して検索する。
スクリーンショット 2021-11-27 20.43.08.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?