{"id":1795,"date":"2025-08-03T22:57:53","date_gmt":"2025-08-03T22:57:53","guid":{"rendered":"https:\/\/www.freelifemakers.org\/wordpress\/?p=1795"},"modified":"2025-08-04T08:16:46","modified_gmt":"2025-08-04T08:16:46","slug":"flmcard","status":"publish","type":"post","link":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/2025\/08\/03\/flmcard\/","title":{"rendered":"\uce74\ub4dc\/FlmCard"},"content":{"rendered":"\n<p><strong>1.react-native-freelifemakers-ui NPM \ubaa8\ub4c8 \uc124\uce58\ud558\uae30 \/ react-native-freelifemakers-ui NPM Module Install<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># npm install react-native-freelifemakers-ui<\/code><\/pre>\n\n\n\n<p><strong>2.\uc0ac\uc6a9\ud558\uae30 \/ Usage<\/strong><br>1)\ubaa8\ub4c8 \ubd88\ub7ec\uc624\uae30 \/ import Module<br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { FlmCard, FlmText, FlmButton } from \"react-native-freelifemakers-ui\";<\/code><\/pre>\n\n\n\n<p>2)\uce74\ub4dc \/ FlmCard<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>         &lt;FlmCard&gt;\n          &lt;FlmText category=\"subtitle\"&gt;\uc774\uac83\uc740 \uae30\ubcf8 \uce74\ub4dc\uc785\ub2c8\ub2e4.&lt;\/FlmText&gt;\n          &lt;FlmText category=\"subtitle\"&gt;This is a basic card.&lt;\/FlmText&gt;\n\n          &lt;Text style={styles.cardContentText}&gt;\n            \ucd94\uac00 \ucf58\ud150\uce20\ub97c \uc5ec\uae30\uc5d0 \ub123\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \/ You can add additional\n            content here.\n          &lt;\/Text&gt;\n        &lt;\/FlmCard&gt;<\/code><\/pre>\n\n\n\n<p><strong>3.\uc608\uc81c\ucf54\ub4dc \/ Example Code<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import React, { useState } from \"react\";\nimport { View, Text, StyleSheet, Alert, ScrollView, Image } from \"react-native\";\nimport { FlmCard, FlmText, FlmButton } from \"react-native-freelifemakers-ui\";\n\n\/\/ FlmCardExample \ucef4\ud3ec\ub10c\ud2b8\n\/\/ This component demonstrates the usage of FlmCard.\nconst FlmCardApp = () =&gt; {\n  const &#91;cardPressCount, setCardPressCount] = useState(0);\n\n  const handleCardPress = (cardName) =&gt; {\n    setCardPressCount((prevCount) =&gt; prevCount + 1);\n\n    \/\/ \uac04\ub2e8\ud55c Alert \uc0ac\uc6a9 (In real apps, use a custom modal)\n    Alert.alert(\n      \"\uce74\ub4dc \ud074\ub9ad  \/ Card Clicked\",\n      `${cardName} \uce74\ub4dc\uac00 \ud074\ub9ad\ub418\uc5c8\uc2b5\ub2c8\ub2e4! (\ucd1d ${cardPressCount + 1}\ud68c)\\n\"${cardName}\" card was clicked! (Total ${cardPressCount + 1} times)`,\n      &#91;{ text: \"\ud655\uc778 (OK)\" }],\n    );\n  };\n\n  return (\n    &lt;ScrollView style={styles.scrollViewContainer}&gt;\n      &lt;View style={styles.container}&gt;\n        &lt;FlmText category=\"subtitle\" style={{ marginTop: 20 }}&gt;\n          FlmCard \uc0ac\uc6a9 \uc608\uc2dc \/ FlmCard Example\n        &lt;\/FlmText&gt;\n\n        {\/* \uae30\ubcf8 \uce74\ub4dc (Basic Card) *\/}\n        &lt;FlmText category=\"subtitle\" style={{ marginTop: 20 }}&gt;\n          \uae30\ubcf8\uce74\ub4dc \/ Basic FlmCard\n        &lt;\/FlmText&gt;\n        &lt;FlmCard&gt;\n          &lt;FlmText category=\"subtitle\"&gt;\uc774\uac83\uc740 \uae30\ubcf8 \uce74\ub4dc\uc785\ub2c8\ub2e4.&lt;\/FlmText&gt;\n          &lt;FlmText category=\"subtitle\"&gt;This is a basic card.&lt;\/FlmText&gt;\n\n          &lt;Text style={styles.cardContentText}&gt;\n            \ucd94\uac00 \ucf58\ud150\uce20\ub97c \uc5ec\uae30\uc5d0 \ub123\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \/ You can add additional\n            content here.\n          &lt;\/Text&gt;\n        &lt;\/FlmCard&gt;\n\n        {\/* \uc81c\ubaa9\uacfc \ubd80\uc81c\ubaa9\uc774 \uc788\ub294 \uce74\ub4dc (Card with Title and Subtitle) *\/}\n        &lt;FlmText category=\"subtitle\" style={{ marginTop: 20 }}&gt;\n          \uc81c\ubaa9\uacfc \ubd80\uc81c\ubaa9\uc774 \uc788\ub294 \uce74\ub4dc\n        &lt;\/FlmText&gt;\n        &lt;FlmText category=\"subtitle\"&gt;Card with Title and Subtitle&lt;\/FlmText&gt;\n        &lt;FlmCard\n          title=\"\uce74\ub4dc \uc81c\ubaa9 \/ Card Title\"\n          subtitle=\"\uc774\uac83\uc740 \uce74\ub4dc\uc758 \ubd80\uc81c\ubaa9\uc785\ub2c8\ub2e4. (This is the card's subtitle)\"\n        &gt;\n          &lt;Text style={styles.cardContentText}&gt;\n            \uc81c\ubaa9\uacfc \ubd80\uc81c\ubaa9\uc774 \uc788\ub294 \uce74\ub4dc\uc785\ub2c8\ub2e4. (Card with title and subtitle.)\n          &lt;\/Text&gt;\n          &lt;Text style={styles.cardContentText}&gt;\n            \uce74\ub4dc \ub0b4\uc6a9\uc774 \uc5ec\uae30\uc5d0 \ud45c\uc2dc\ub429\ub2c8\ub2e4. (Card content is displayed here.)\n          &lt;\/Text&gt;\n        &lt;\/FlmCard&gt;\n\n        {\/* \ucee4\uc2a4\ud140 \uc2a4\ud0c0\uc77c \ubc0f onPress \uae30\ub2a5\uc774 \uc788\ub294 \uce74\ub4dc \/ Card with Custom Styles and onPress *\/}\n        &lt;FlmText category=\"subtitle\" style={{ marginTop: 20 }}&gt;\n          \ucee4\uc2a4\ud140 \uc2a4\ud0c0\uc77c \ubc0f onPress \uae30\ub2a5\uc774 \uc788\ub294 \uce74\ub4dc\n        &lt;\/FlmText&gt;\n        &lt;FlmText category=\"subtitle\"&gt;\n          Card with Custom Styles and onPress\n        &lt;\/FlmText&gt;\n        &lt;FlmCard\n          title=\"\ud074\ub9ad \uac00\ub2a5\ud55c \uce74\ub4dc \/ Clickable Card\"\n          subtitle=\"\uc774 \uce74\ub4dc\ub97c \ub20c\ub7ec\ubcf4\uc138\uc694! \/ Try tapping this card!\"\n          onPress={() =&gt; handleCardPress(\"\ud074\ub9ad \uac00\ub2a5\ud55c \/ Clickable\")}\n          style={styles.clickableCard}\n          titleStyle={styles.clickableCardTitle}\n          elevation={5}\n          borderRadius={12}\n        &gt;\n          &lt;Text style={styles.cardContentText}&gt;\n            \uc774 \uce74\ub4dc\ub97c \ub204\ub974\uba74 \uc54c\ub9bc\uc774 \ud45c\uc2dc\ub429\ub2c8\ub2e4.\/ An alert is shown when this\n            card is tapped.\n          &lt;\/Text&gt;\n          &lt;Text style={styles.cardContentText}&gt;\n            \ud074\ub9ad \ud69f\uc218: {cardPressCount} \/ Click Count: {cardPressCount}\n          &lt;\/Text&gt;\n        &lt;\/FlmCard&gt;\n\n        {\/* \ubc30\uacbd\uc0c9\uc774 \ub2e4\ub978 \uce74\ub4dc  \/ Card with Different Background Color *\/}\n        &lt;FlmText category=\"subtitle\" style={{ marginTop: 20 }}&gt;\n          \ubc30\uacbd\uc0c9\uc774 \ub2e4\ub978 \uce74\ub4dc\n        &lt;\/FlmText&gt;\n        &lt;FlmText category=\"subtitle\"&gt;\n          Card with Different Background Color\n        &lt;\/FlmText&gt;\n        &lt;FlmCard\n          title=\"\ub2e4\ub978 \uc0c9\uc0c1\uc758 \uce74\ub4dc \/ Card with Different Color\"\n          backgroundColor=\"#e0f2f7\"\n          elevation={3}\n        &gt;\n          &lt;Text style={styles.cardContentText}&gt;\n            \uc774 \uce74\ub4dc\ub294 \ub2e4\ub978 \ubc30\uacbd\uc0c9\uc744 \uac00\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4. \/ This card has a different\n            background color.\n          &lt;\/Text&gt;\n        &lt;\/FlmCard&gt;\n\n        {\/* \ucf58\ud150\uce20 \ud328\ub529\uc744 \uc870\uc815\ud55c \uce74\ub4dc  \/ Card with Adjusted Content Padding *\/}\n        &lt;FlmText category=\"subtitle\" style={{ marginTop: 20 }}&gt;\n          \ucf58\ud150\uce20 \ud328\ub529\uc744 \uc870\uc815\ud55c \uce74\ub4dc\n        &lt;\/FlmText&gt;\n        &lt;FlmText category=\"subtitle\"&gt;\n          Card with Adjusted Content Padding\n        &lt;\/FlmText&gt;\n        &lt;FlmCard\n          title=\"\ud328\ub529 \uc870\uc815 \uce74\ub4dc \/ Card with Custom Padding\"\n          contentStyle={{ paddingHorizontal: 30, paddingVertical: 20 }}\n        &gt;\n          &lt;Text style={styles.cardContentText}&gt;\n            \uc774 \uce74\ub4dc\ub294 \ub0b4\ubd80 \ucf58\ud150\uce20\uc758 \ud328\ub529\uc774 \ub2e4\ub985\ub2c8\ub2e4. \/ This card has customized\n            inner padding.\n          &lt;\/Text&gt;\n        &lt;\/FlmCard&gt;\n\n        {\/* \uc774\ubbf8\uc9c0 \uce74\ub4dc (Image Card) *\/}\n        &lt;FlmText category=\"subtitle\" style={{ marginTop: 20 }}&gt;\n          \uc774\ubbf8\uc9c0 \uce74\ub4dc\n        &lt;\/FlmText&gt;\n        &lt;FlmText category=\"subtitle\"&gt;Image Card&lt;\/FlmText&gt;\n        &lt;FlmCard\n          title=\"\uc774\ubbf8\uc9c0 \uce74\ub4dc \/ Image Card\"\n          subtitle=\"\uc544\ub984\ub2e4\uc6b4 \ud48d\uacbd \uc774\ubbf8\uc9c0 \/ Beautiful Landscape Image\"\n          elevation={4}\n          borderRadius={10}\n        &gt;\n          &lt;Image\n            source={{\n              uri: \"https:\/\/picsum.photos\/400\/200\",\n            }}\n            style={styles.cardImage}\n            resizeMode=\"cover\"\n            onError={(e) =&gt;\n              console.log(\"Image loading error:\", e.nativeEvent.error)\n            }\n          \/&gt;\n          &lt;Text style={styles.cardContentText}&gt;\n            \uc774 \uce74\ub4dc\ub294 \uc774\ubbf8\uc9c0\ub97c \ud3ec\ud568\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ubbf8\uc9c0 \uc544\ub798\uc5d0 \ucd94\uac00\uc801\uc778 \uc124\uba85\uc744\n            \ub123\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \/ This card contains an image. Additional\n            description can be added below the image.\n          &lt;\/Text&gt;\n        &lt;\/FlmCard&gt;\n      &lt;\/View&gt;\n    &lt;\/ScrollView&gt;\n  );\n};\n\nconst styles = StyleSheet.create({\n  scrollViewContainer: {\n    flex: 1,\n    backgroundColor: \"#f0f2f5\",\n  },\n  container: {\n    padding: 10,\n    alignItems: \"center\",\n    paddingBottom: 30,\n  },\n  cardContentText: {\n    fontSize: 16,\n    color: \"#555555\",\n    lineHeight: 24,\n  },\n  clickableCard: {\n    backgroundColor: \"#fff3e0\",\n    borderWidth: 1,\n    borderColor: \"#ffab40\",\n  },\n  clickableCardTitle: {\n    color: \"#d84315\",\n  },\n  cardImage: {\n    alignSelf: \"stretch\",\n    height: 200,\n    borderRadius: 8,\n    marginBottom: 10,\n  },\n});\n\nexport default FlmCardApp;\n<\/code><\/pre>\n\n\n\n<p><strong>4.\uc2a4\ud06c\ub9b0\uc0f7\/ScreenShot<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"\uce74\ub4dc\/FlmCard\" width=\"473\" height=\"840\" src=\"https:\/\/www.youtube.com\/embed\/LKOeULNrScY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>1.react-native-freelifemakers-ui NPM \ubaa8\ub4c8 \uc124\uce58\ud558\uae30 \/ react-native-freelifemakers-ui NPM Module Install 2.\uc0ac\uc6a9\ud558\uae30 \/ Usage1)\ubaa8\ub4c8 \ubd88\ub7ec\uc624\uae30 \/ import Module 2)\uce74\ub4dc \/ FlmCard 3.\uc608\uc81c\ucf54\ub4dc \/ Example Code 4.\uc2a4\ud06c\ub9b0\uc0f7\/ScreenShot<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,15,1],"tags":[],"class_list":["post-1795","post","type-post","status-publish","format-standard","hentry","category-reactnative","category-rnuimodule","category-uncategorized","missing-thumbnail"],"_links":{"self":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1795","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=1795"}],"version-history":[{"count":7,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1795\/revisions"}],"predecessor-version":[{"id":2246,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1795\/revisions\/2246"}],"wp:attachment":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=1795"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=1795"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=1795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}