React Native(iOS)新手小白零基礎(chǔ)自學(xué)(二)Text組件

這一節(jié)學(xué)習(xí)Text組件雳刺,話不多說(shuō)擎椰,用實(shí)際小模塊來(lái)實(shí)踐一下寥闪。如下圖所示:

屏幕快照 2016-04-29 下午1.12.29.png

偷個(gè)懶~~~(>_<)~~~

屏幕快照 2016-04-26 下午7.22.53.png

1.封裝頭部組件 :先新建一個(gè)文件 header.js

var React = require('react-native');

var {
  AppRegistry,
  StyleSheet,
  View,
  Text,
  PixelRatio
} = React;
/*
  首先對(duì)于有三個(gè)Text,分別表示“網(wǎng)易”水孩、“新聞”蓝角、“有態(tài)度”

  這里我們?cè)谕鈱忧短琢艘粋€(gè)Text,這樣Text就不會(huì)按照f(shuō)lexbox布局 哭懈,這樣我們給了一個(gè)全局的樣式font灾馒。
  然后再分別對(duì)'新聞'、'有態(tài)度'分別設(shè)置fontOne遣总、fontTwo
 */
var Header = React.createClass({
  render: function(){
    return (
      <View style={styles.flex}>
        <Text style={styles.font}>
          <Text style={styles.fontOne}>網(wǎng)易</Text>
          <Text style={styles.fontTwo}>新聞</Text>
          <Text>有態(tài)度°</Text>
        </Text>
      </View>
    );
  }
});

/*
  flex
  alignItems:'center'  使Text組件水平居中
  其他參數(shù)不用解釋

  font
  textAlign:'center'  使文字在Text組件中居中

*/

var styles = StyleSheet.create ({
  flex: {
    marginTop:25,
    height:50,
    borderBottomWidth:3/PixelRatio.get(),
    borderColor:'#EF2D36',
    alignItems:'center'
  },
  font: {
    fontSize:25,
    fontWeight:'bold',
    textAlign:'center'
  },
  fontOne: {
    color:'#CD1D1C'
  },
  fontTwo: {
    color:'#fff',
    backgroundColor:'#CD1D1C'
  }
});
/*
  exports 成獨(dú)立組件
*/
module.exports = Header;

然后我們可以測(cè)試一下封裝后的效果睬罗,在index.ios.js文件中寫(xiě)如下代碼:

var React = require('react-native');
var Header = require('./header'); //加載Header組件

var {
  AppRegistry,
  StyleSheet,
  View,
  Text
} = React;

var app = React.createClass ({
  render: function(){
    return (
      <View style={styles.flex}>
        <Header></Header>
      </View>
    );
  }
});

var styles = StyleSheet.create ({
  flex: {
    flex:1
  },
});

AppRegistry.registerComponent('InformationServicesRN' , () => app);

實(shí)現(xiàn)效果如下:

屏幕快照 2016-04-26 下午9.48.04.png

2.列表組件
列表看起來(lái)和iOS的tableview差不多轨功,React Native有封裝好的,也可以直接調(diào)用原生的容达,這里為了練習(xí)Text我們就自己做簡(jiǎn)單的封裝古涧。每一條新聞可以獨(dú)立成一個(gè)簡(jiǎn)單的組件,同時(shí)還希望提供一個(gè)title花盐,而不是寫(xiě)死在組件中(有點(diǎn)自定義cell蒿褂,再提供一個(gè)外部title 的意思)。這里直接在index.ios.js里面寫(xiě)

/*
  封裝List組件(類似于函數(shù))
 */
var List = React.createClass ({
  render: function(){
    return (
      <View style={styles.listItem}>
        <Text style={styles.listItemFont}>{this.props.title}</Text>
      </View>
    );
  }
});

然后在程序入口app中使用剛才封裝好的List組件

var app = React.createClass ({
  render: function(){
    return (
      <View style={styles.flex}>
        <Header></Header>
        <List title='宇航員在太空宣布"三體"獲獎(jiǎng)'></List>
        <List title='NASA發(fā)短片紀(jì)念火星征程50年'></List>
        <List title='男生連續(xù)做一周苦瓜吃吐女友'></List>
        <List title='女童遭鯊魚(yú)襲擊又下海救伙伴'></List>
      </View>
    );
  }
});

樣式為:

var styles = StyleSheet.create ({
  flex: {
    flex:1
  },
  listItem: {
    height:40,
    marginLeft:10,
    marginRight:10,
    borderBottomWidth:1,
    borderBottomColor:'#ddd',
    justifyContent:'center'
  },
  listItemFont: {
    fontSize:16
  }
});

展示效果如下:

屏幕快照 2016-04-29 下午12.40.09.png

3.完成“今日要聞”
要完成三個(gè)功能:標(biāo)題展示卒暂、當(dāng)標(biāo)題超過(guò)兩行時(shí),用(...)表示娄帖、點(diǎn)擊標(biāo)題彈出標(biāo)題內(nèi)容也祠。和List一樣,我們也做一個(gè)封裝以便調(diào)用:

/*
  封裝ImportantNews組件
      用this.props屬性接收外部傳入的參數(shù)
      增加onPress事件近速,當(dāng)新聞被按下時(shí)通過(guò)bind調(diào)用show方法诈嘿,彈出標(biāo)題
      bind方法中: this表示上下文對(duì)象,類似于OC中的self
                this.props.news[i]  傳遞參數(shù)
      numberOfLines = {2}  表示顯示2行削葱,和OC中的差不多
      {this.props.news[i]}  獲取傳遞數(shù)據(jù)
 */
var ImportantNews = React.createClass ({
  show: function(title) {
    alert(title);
  },
  render: function() {
    var news = [];
    for (var i in this.props.news) {
      var text = (
        <Text
          onPress = {this.show.bind(this, this.props.news[i])}
          numberOfLines = {2}
          style = {styles.newsItem}>
          {this.props.news[i]}
        </Text>
      );
      news.push(text);
    }
    return (
      <View style={styles.flex}>
        <Text style={styles.newsTitle}>今日要聞</Text>
        {news}
      </View>
    );
  }
});

然后在app中調(diào)用

<ImportantNews news = {[
          '1奖亚、劉慈欣《三體》獲雨果獎(jiǎng),為中國(guó)作家首次析砸,為中國(guó)作家首次',
          '2昔字、京津冀協(xié)同發(fā)展定位明確:北京無(wú)經(jīng)濟(jì)中心表述',
          '3、好奇寶寶第一次淋雨首繁,好奇寶寶第一次淋雨好奇寶寶第一次淋雨好奇寶寶第一次淋雨好奇寶寶第一次淋雨好奇寶寶第一次淋雨好奇寶寶第一次淋雨好奇寶寶第一次淋雨',
          '4作郭、人名郵電出版社即將出版《React Native入門與實(shí)戰(zhàn)》,讀者可以用JavaScript開(kāi)發(fā)應(yīng)用']}>
        </ImportantNews>

樣式為:

  newsTitle: {
    fontSize:20,
    fontWeight:'bold',
    color:'#CD1D1C',
    marginLeft:10,
    marginTop:15
  },
  newsItem: {
    marginLeft:10,
    marginRight:10,
    fontSize:15,
    lineHeight:20
  }

看看效果吧~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弦疮,一起剝皮案震驚了整個(gè)濱河市夹攒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌胁塞,老刑警劉巖咏尝,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異啸罢,居然都是意外死亡编检,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門伺糠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蒙谓,“玉大人,你說(shuō)我怎么就攤上這事训桶±弁裕” “怎么了酣倾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)谤专。 經(jīng)常有香客問(wèn)我躁锡,道長(zhǎng),這世上最難降的妖魔是什么置侍? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任映之,我火速辦了婚禮,結(jié)果婚禮上蜡坊,老公的妹妹穿的比我還像新娘杠输。我一直安慰自己,他們只是感情好秕衙,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布蠢甲。 她就那樣靜靜地躺著,像睡著了一般据忘。 火紅的嫁衣襯著肌膚如雪鹦牛。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天勇吊,我揣著相機(jī)與錄音蛹批,去河邊找鬼评矩。 笑死岩四,一個(gè)胖子當(dāng)著我的面吹牛才菠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鲫忍,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼膏燕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了悟民?” 一聲冷哼從身側(cè)響起坝辫,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎射亏,沒(méi)想到半個(gè)月后近忙,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡智润,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年及舍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窟绷。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锯玛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情攘残,我是刑警寧澤拙友,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站歼郭,受9級(jí)特大地震影響遗契,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜病曾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一牍蜂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧泰涂,春花似錦鲫竞、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至其做,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赁还,已是汗流浹背妖泄。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留艘策,地道東北人蹈胡。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像朋蔫,于是被迫代替她去往敵國(guó)和親罚渐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • 大家看到這個(gè)題目可能會(huì)認(rèn)為我要寫(xiě)一篇抒情的散文驯妄,其實(shí)不然荷并。今天來(lái)談?wù)勎覍?duì)旅游及銷售的新的感受。 不知道...
    盛夏清菡閱讀 165評(píng)論 0 1
  • 佛羅倫薩的母親河 (佛羅倫薩的圖書(shū)館) (佛羅倫薩古城的街)
    風(fēng)箏2017閱讀 155評(píng)論 0 0
  • 在經(jīng)歷了漫長(zhǎng)的雨季之后又轉(zhuǎn)換到隆冬青扔,心始終被一個(gè)冷字層層包裹源织,密不透風(fēng),即便冬日里偶爾陽(yáng)光燦爛微猖,亦照射不到心房谈息。 ...
    靜華2016閱讀 1,994評(píng)論 58 36
  • 一個(gè)人總要到了一定年齡犁珠,才能恍然醒悟許多東西逻炊,才能比較清楚明白活著的意義互亮。 人生就像一首詩(shī),當(dāng)我們年輕的時(shí)候嗅骄,往往...
    賓天下閱讀 498評(píng)論 0 2
  • 每個(gè)人都值得被理解胳挎,也需要被理解。只有愿意更深地去理解對(duì)方溺森,才能產(chǎn)生包容慕爬、諒解以及關(guān)愛(ài)。 所以理解是關(guān)系和溝通的基...
    一位先生陳閱讀 159評(píng)論 0 5