<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                一直以來,我們都在用原始的CSS屬性來設置外邊距、內邊距和顏色。但是,最新的CSS規范中增加了彈性盒子的概念,非常利于我們對App的UI進行布局,雖然你可能還不太熟悉它。 React Native 使用了 css-layout 庫,在這個庫中實現了彈性盒子,而這種模型無論對iOS還是Android來說都很好理解。 更幸運的是,Facebook針對許多語言單獨實現了這個項目,這就引申出了許多新穎的用法,比如[在SVG中應用彈性盒子布局](http://blog.scottlogic.com/2015/02/02/svg-layout-flexbox.html)(是的,這篇文章也是我寫的,為此我不得不熬到深夜)。 在這個App中,采用了默認的垂直流式布局,即容器中的子元素按照從上到下的順序進行布局。比如: ![](https://box.kancloud.cn/2015-10-27_562f20d280987.png) 這被稱作主軸, 主軸可能是水平方向,也可能是垂直方向。 每個子元素的縱向位置由它們的邊距(margin)、間距(padding)和高決定。容器的alignItems屬性會被設置為居中(center),這決定了子元素在交叉軸上的位置。在本例里,將導致子元素水平居中對齊。 接下來我們添加一些文本輸入框和按鈕。打開SearchPage.js 在第二個 Text 元素后添加: ~~~ <View style={styles.flowRight}> <TextInput style={styles.searchInput} placeholder='Search via name or postcode'/> <TouchableHighlight style={styles.button} underlayColor='#99d9f4'> <Text style={styles.buttonText}>Go</Text> </TouchableHighlight> </View> <TouchableHighlight style={styles.button} underlayColor='#99d9f4'> <Text style={styles.buttonText}>Location</Text> </TouchableHighlight> ~~~ 這段代碼添加了兩個頂級的視圖:一個文本輸入框外加一個按鈕,以及一個單獨的按鈕。它們所使用的樣式待會我們再介紹。 接著,在styles中增加如下樣式: ~~~ flowRight: { flexDirection: 'row', alignItems: 'center', alignSelf: 'stretch' }, buttonText: { fontSize: 18, color: 'white', alignSelf: 'center' }, button: { height: 36, flex: 1, flexDirection: 'row', backgroundColor: '#48BBEC', borderColor: '#48BBEC', borderWidth: 1, borderRadius: 8, marginBottom: 10, alignSelf: 'stretch', justifyContent: 'center' }, searchInput: { height: 36, padding: 4, marginRight: 5, flex: 4, fontSize: 18, borderWidth: 1, borderColor: '#48BBEC', borderRadius: 8, color: '#48BBEC' } ~~~ 不同樣式屬性間以逗號分隔,這樣你在container選擇器后必須以一個逗號結尾。 這些樣式將被文本輸入框和按鈕所用。 回到模擬器,按下Cmd+R ,你將看到如下效果: ![](https://box.kancloud.cn/2015-10-27_562f20d291be0.png) Go按鈕和其緊隨的文本框在同一行,因此我們將它們用一個容器裝在一起,同時容器的flexDirection: 樣式屬性設置為’row’ 。我們沒有顯式指定文本框和按鈕的寬度,而是分別指定它們的flex樣式屬性為4和1。也就是說,它們的寬度在整個寬度(屏幕寬度)中所占的份額分別為4和1。 而且,視圖中的兩個按鈕都不是真正的按鈕。對于UIKit,按鈕不過是可以點擊的標簽而已,因此React Native開發團隊能夠用JavaScript以一種簡單的方式構建按鈕:TouchableHighlight是一種React Native組件,當它被點擊時,它的前景會變得透明,從而顯示其隱藏在底部的背景色。 最后我們還要在視圖中添加一張圖片。這些圖片可以在[此處](http://cdn2.raywenderlich.com/wp-content/uploads/2015/03/ReactNative-HouseImage.zip)下載。下載后解壓縮zip文件。 在 Xcode 打開 Images.xcassets 文件,點擊加號按鈕,添加一個新的image set。然后將需要用到的圖片拖到image set右邊窗口對應的位置。 ![](https://box.kancloud.cn/2015-10-27_562f20d2a9c92.png) 要讓這些圖片顯示,必須停止你的 React Native App并重新啟動。 在location按鈕對應的 TouchableHighlight 組件下加入: `<Image source={require('image!house')} style={styles.image}/>` 然后,為圖片添加適當的樣式定義,記得在上一個樣式之后添加一個逗號結尾: ~~~ image: { width: 217, height: 138 } ~~~ 由于我們將圖片添加到了Images.xcasset資源包中,我們需要用require(‘image!house’)語句獲得圖片在App包中的正確路徑。在Xcode中,打開Images.xcassets ,你可以找到名為house的image set。 回到模擬器,按下Cmd+R 查看運行效果: ![](https://box.kancloud.cn/2015-10-27_562f20d2d09c0.png) > 注意: 如果圖片沒有顯示,卻看到一個““image!house” cannot be > found”的提示,則可以重啟packager(在終端中輸入npm start命令)。 到目前為止,我們的App看上去有模有樣,但它還缺少很多實際的功能。接下來的任務就是為App增加一些狀態,執行一些動作。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看