A material design card component, customizable and versatile
Switch branches/tags
Nothing to show
Clone or download
dorukkarinca and SiDevesh singleLineTitle property for CardImage (#18)
* singleLineTitle property for CardImage

For small cards with images, I don't want multi-line text for an image title because it covers too much of the card image. Let's provide support for singleLineTitle={true} which replaces overflowing text with ellipses. These changes worked for me.

* update README to document singleLineTitle prop of CardImage component
Latest commit 7332921 Sep 27, 2018

README.md

React-Native-Material-Cards

A material design card component, customizable and versatile.

Images

See Google Material Design for more info on Cards.

Installation

npm install --save react-native-material-cards

Basic Usage

Import the components like so:

import { Card, CardTitle, CardContent, CardAction, CardButton, CardImage } from 'react-native-material-cards'

Then insert the card in your code:

<Card>
  <CardImage 
    source={{uri: 'http://placehold.it/480x270'}} 
    title="Above all i am here"
  />
  <CardTitle 
    title="This is a title" 
    subtitle="This is subtitle"
   />
  <CardContent text="Your device will reboot in few seconds once successful, be patient meanwhile" />
  <CardAction 
    separator={true} 
    inColumn={false}>
    <CardButton
      onPress={() => {}}
      title="Push"
      color="blue"
    />
    <CardButton
      onPress={() => {}}
      title="Later"
      color="blue"
    />
  </CardAction>
</Card>

Card Component Options

Prop Type Effect Default Value
isDark boolean If the card background is dark, sets a light text color, this prop is passed to all child components true
mediaSource object The image to show in background of a card, with content overlayed, passed to Image's source prop undefined
avatarSource object The avatar image to be shown in the card's content or header section, whichever comes first, passed to Image's source prop undefined
style object The style object to be merged with the default style undefined

CardTitle Component Options

Prop Type Effect Default Value
title string The title text undefined
subtitle string The subtitle text undefined
subtitleAbove boolean Whether the subtitle should be shown above the title false
avatarSource object The avatar image to be shown, passed to Image's source prop undefined
style object The style object to be merged with the default style undefined

CardContent Component Options

Prop Type Effect Default Value
text string The content text undefined
avatarSource object The avatar image to be shown, passed to Image's source prop undefined
style object The style object to be merged with the default style undefined

CardImage Component Options

Prop Type Effect Default Value
source object The image to be shown, passed to Image's source prop undefined
style object The style object to be merged with the default style undefined
resizeMode string Determines how to resize the image when the frame doesn't match the raw image dimensions stretch
resizeMethod string Resize the image when the image's dimensions differ from the image view's dimensions. resize
singleLineTitle boolean Set to true if you want the title to be one line, redacted with ellipses undefined

CardAction Component Options

Prop Type Effect Default Value
separator boolean Whether a separator should be shown true
inColumn boolean Whether the buttons should be stacked in a column false
style object The style object to be merged with the default style undefined

CardButton Component Options

Prop Type Effect Default Value
title string The button's text undefined
color string The color of button text orange
onPress function The function to be called when button is pressed noop (defined in src/utils)
style object The style object to be merged with the default style undefined

ToDo

  • Add cards with side media

PRs are welcome :)