アプリケーションの画面順に作成

33674 ワード


基本スケルトンの作成
import React from 'react';
import main from './assets/main.png';
import { StyleSheet, Text, View, Image, TouchableOpacity, ScrollView} from 'react-native';

export default function App() {
  console.disableYellowBox = true;
  //return 구문 밖에서는 슬래시 두개 방식으로 주석
  return ()

}

const styles = StyleSheet.create({})
1.裏に書く.
scrollviewを作成した後
着物を着る
着るとき一番上の子用容器
const styleページ用
container:{}
2.画像を保存してassetフォルダに入れます.
3.スクロールビュー全体にテキストを含める必要があるため、スクロールビューにテキストを入れる
text/textの間に含める文字またはヒントを追加する
スタイル
const styleページ用
前に書いた内容}を閉じます
新しいtitle:{}で開く
titleのフォントサイズまたは余白を追加
4.画像を入れる
ページのimage source={main}を返します.
スタイル
const styleページ用
mainImage:{}
5.ボタンを4つくらい作る
returnページでのスクロールビューの作成
書き込み
書き込み
この4つをコピーしてボタンを作成します.
にボタンの文字を書き込む
スタイル
const styleページ用
stylesで指定した名前middlecontainer:writeを使用する
return端でスタイルをTouchableOptityとして着用
4つのTouchableOptityの中の服はすべて同じように複製します
middlebutton番号を付ける
return端子にtextにスタイルを付ける
textは同じデザインを採用し、そのまま4つコピー
const styleページ用
stylesで指定した名前middlecontainer:writeを使用する
白なのでエリアが見えないので、まずは黒線でエリアを作ります.
borderwidth:1に設定し、後で削除します.
MarginTopとMarginLeft、領域をheightに設定
const styleページ用
middleButton:書き込み
widthとheightをスケッチして、大きさをよく変えます
ドラッグ&ドロップ
backgroundColorとborderRadiusの決定
領域にあまり近づかないでmarginで
middleButtonが作成した4つのボタンをコピーし、ボタン番号のみを変更します.
const styleページ用
middleButtonText:書き込み
color、fontWeight、textAlign(フォント整列)の使用
middleContainerのborderエッジを削除します.
書き返す
数式ドキュメントで水平を検索し、ボタンをスクロールしてビューを左右に移動します.horizontal={true}
書き返す
カードを書く
[スタイル別ドレッシングカード](By Style Ramp Card)コンテンツの割り当て
書き返す
最初のカード領域を作成します.
中にはuri:「」で住所を書きます.
自分で閉じたラベルなので閉じます/>
カードテキストの作成
その中にタイトルの内容の日付をつけて、また中を触った.
スタイルの服を着るcardTextの指定
スタイルの服を着るcardTitle、cardDesc、cardDateの決定
イメージも衣装スタイルcardImageとして指定
インラインテキスト
const styleページ用
前に付けて、文を完成します.
CardContainer:書き込み
borderWidth:1,//エリアを表示するため
MarginTop、MarginLeftを使用して領域を指定する
const styleページ用
前に付けて、文を完成します.
stylesで指定した名前cardを使用する:書き込み
flexを使用:中のテキストと画像には独自の領域があります.
flex:1、一つのエリアを全部食べる
flexDirection:rowの内容を横に並べます.
残金
const styleページ用
cardImageとcardTextのflexを1:2に設定
だからCardImage:flex:1課
cardText:flex:2
画像は一意の領域がある場合に表示されます(widthとheightを使用して領域を指定する場合やflexを使用して領域を指定する場合)
cardImage:{
flex:1,
cardText:{
flex:2,
cardImageでは画像が正方形なのでwidthとheightを100に設定します
borderRadius円の使用
cardTextはflex 2です.
flexDirection:「column」//上下位置決め.デフォルト値を書き込む必要はありません
MarginLeftの使用
cardTitle:{},
cardDesc:{},
cardDate:{},書き込み後
cardTitleのfontsize,fontWeight(厚め)
CardDescのfontsize
cardDateのfontsize
returnページにcarddescページに書く
numberofLines={3}3行のサムネイルのみ表示

最終ステータス

  
import React from 'react';
import main from './assets/main.png';
import { StyleSheet, Text, View, Image, TouchableOpacity, ScrollView} from 'react-native';

export default function App() {
  console.disableYellowBox = true;
  //return 구문 밖에서는 슬래시 두개 방식으로 주석
  return (
    /*
      return 구문 안에서는 {슬래시 + * 방식으로 주석
    */
    <ScrollView style={styles.container}>
      <Text style={styles.title}>나만의 꿀팁</Text>
      <Image style={styles.mainImage} source={main}/>
      <ScrollView style={styles.middleContainer} horizontal indicatorStyle={"white"}>
        <TouchableOpacity style={styles.middleButton01}><Text style={styles.middleButtonText}>생활</Text></TouchableOpacity>
        <TouchableOpacity style={styles.middleButton02}><Text style={styles.middleButtonText}>재테크</Text></TouchableOpacity>
        <TouchableOpacity style={styles.middleButton03}><Text style={styles.middleButtonText}>반려견</Text></TouchableOpacity>
        <TouchableOpacity style={styles.middleButton04}><Text style={styles.middleButtonText}>꿀팁 찜</Text></TouchableOpacity>
      </ScrollView>
      <View style={styles.cardContainer}>
        {/* 하나의 카드 영역을 나타내는 View */}
        <View style={styles.card}>
          <Image style={styles.cardImage} source={{uri:"https://firebasestorage.googleapis.com/v0/b/sparta-image.appspot.com/o/lecture%2Fpizza.png?alt=media&token=1a099927-d818-45d4-b48a-7906fd0d2ad3"}}/>
          <View style={styles.cardText}>
            <Text style={styles.cardTitle}>먹다 남은 피자를 촉촉하게!</Text>
            <Text style={styles.cardDesc} numberOfLines={3}>먹다 남은 피자는 수분이 날라가기 때문에 처음처럼 맛있게 먹을 수 없는데요. 이럴 경우 그릇에 물을 받아 전자레인지 안에서 130초에서 2분 정도 함께 돌려주면 촉촉하게 먹을 수 있습니다. 물이 전자레인지 안에서 수증기를 일으키고, 피자에 촉촉함을 더해줍니다.</Text>
            <Text style={styles.cardDate}>2020.09.09</Text>
          </View>
        </View>
        
      </View>
   
    </ScrollView>
  );
}

const styles = StyleSheet.create({
  container: {
    //앱의 배경 색
    backgroundColor: '#fff',
  },
  title: {
    //폰트 사이즈
    fontSize: 20,
    //폰트 두께
    fontWeight: '700',
    //위 공간으로 부터 이격
    marginTop:50,
	    //왼쪽 공간으로 부터 이격'
    marginLeft:20
  },
  mainImage: {
    //컨텐츠의 넓이 값, 화면의 90%만 이미지채운다
    width:'90%',
    //컨텐츠의 높이 값
    height:200,
    //컨텐츠의 모서리 구부리기
    borderRadius:10,
    marginTop:20,
    //컨텐츠 자체가 앱에서 어떤 곳에 위치시킬지 결정(정렬기능), flex없어도 가운데정렬
    //각 속성의 값들은 공식문서에 고대로~ 나와 있음
    alignSelf:"center"
  },
  middleContainer:{
    //borderWidth:1, //흰색바탕이라 영역을 알수 없으니 영역을 먼저 검정선 표시후 나중에 다 만들고 삭제예정
  	marginTop:20,
    marginLeft:10,
    height:60
  },
  middleButton01: {
    width:100,
    height:50,
    padding:15, //버튼안에 글자가 떨어져있으니
    backgroundColor:"#fdc453",
    borderColor:"deeppink",
    borderRadius:15, //버튼 둥글게
    margin:7
  },
  middleButton02: {
    width:100,
    height:50,
    padding:15,
    backgroundColor:"#fe8d6f",
    borderRadius:15,
    margin:7
  },
  middleButton03: {
    width:100,
    height:50,
    padding:15,
    backgroundColor:"#9adbc5",
    borderRadius:15,
    margin:7
  },
  middleButton04: {
    width:100,
    height:50,
    padding:15,
    backgroundColor:"#f886a8",
    borderRadius:15,
    margin:7
  },
  middleButtonText: {
    color:"#fff",
    fontWeight:"700", //폰트두께 
    textAlign:"center" //텍스트를 가운데 위치
  },
  cardContainer: {
    //borderWidth:1, //영역을 보기위해 나중에 삭제예정
  	marginTop:10,
    marginLeft:10
  },
  card:{
    flex:1, //카드안에 이미지와 텍스트가 자기만의 고유영역 있으니 flex사용 1은 영역 하나를 다 잡아먹음
    //컨텐츠들을 가로로 나열
    //세로로 나열은 column(디폴트 값임) 
    flexDirection:"row",
    margin:10,
    borderBottomWidth:0.5,
    borderBottomColor:"#eee",
    paddingBottom:10

  },
  cardImage: {
    flex:1,
    width:100,
    height:100,
    borderRadius:10,
  },
  cardText: {
    flex:2,
    flexDirection:"column",//상하로 위치되게끔. 기본값이라 안써도 됨
    marginLeft:10,
  },
  cardTitle: {
    fontSize:20,
    fontWeight:"700"
  },
  cardDesc: {
    fontSize:15
  },
  cardDate: {
    fontSize:10,
    color:"#A6A6A6",
  }


});
                        
                        
                        
                        ```