1. 程式人生 > >ReactNative學習八-搜尋欄的基本佈局

ReactNative學習八-搜尋欄的基本佈局

1.佈局


2.程式碼如下

/**
 * 掃碼框
 */
'use strict';

import React, {
    Component,
    Image,
    TextInput,
    View,
    Platform,
    StyleSheet
} from 'react-native';


//export 因為要在其他類中使用
export default class Header extends Component{
    render(){
        return (
           <View style={styles.container}> 

            <Image source={require('./images/header/header_logo.png')} style={styles.logo}/>  

            <View style={styles.searchBox}>

                 <Image source={require('./images/header/icon_search.png')} style={styles.searchIcon}/>  
                  
                 <TextInput style={styles.inputText}
                            keyboardType='web-search'  
                            placeholder='搜尋京東商品/店鋪' />                           
                  
                  <Image source={require('./images/header/icon_voice.png')} style={styles.voiceIcon}/>            
            </View>

            <Image source={require('./images/header/icon_qr.png')} style={styles.scanIcon}/>           

           </View>
        )
    }
}

//樣式
const styles = StyleSheet.create({  
    container: {  
        flexDirection: 'row',   // 水平排布  
        paddingLeft: 10,  
        paddingRight: 10,  
        paddingTop: Platform.OS === 'ios' ? 20 : 0,  // 處理iOS狀態列  
        height: Platform.OS === 'ios' ? 68 : 48,   // 處理iOS狀態列  
        backgroundColor: '#d74047',  
        alignItems: 'center'  // 使元素垂直居中排布, 當flexDirection為column時, 為水平居中  
    },  
    logo: {//圖片logo  
        height: 24,  
        width: 64,  
        resizeMode: 'stretch'  // 設定拉伸模式  
    },  
    searchBox:{//搜尋框
      height:30,
      flexDirection: 'row',   // 水平排布  
      flex:1,
      borderRadius: 5,  // 設定圓角邊  
      backgroundColor: 'white',
      alignItems: 'center',
      marginLeft: 8,  
      marginRight: 8,  
    },
    searchIcon: {//搜尋圖示  
        height: 20,  
        width: 20, 
        marginLeft: 5,  
        resizeMode: 'stretch'  
    }, 
    inputText:{
      flex:1,
      backgroundColor:'transparent',
      fontSize:15,
    },
    voiceIcon: {  
        marginLeft: 5,  
        marginRight: 8,  
        width: 15,  
        height: 20,  
        resizeMode: 'stretch'  
    }, 
    scanIcon: {//搜尋圖示  
        height: 26.7,  
        width: 26.7,  
        resizeMode: 'stretch'  
    }, 
}); 



3.注意事項 1.style的使用,當使用StyleSheet建立的樣式時,外層只需要一層{},而直接宣告需要再加一層,即直接聲明瞭匿名變數 2.Image的source可以使用網路圖片或本地資源,使用本地資源時,類似require.js的包引用,而使用網路資源時,使用方法如下:source={{uri:'http://xxxxxxx'}} 3.TextInput的鍵盤型別可以使用keyboardType進行設定,佔位字元使用placeholder設定,具體請參見官方文件





相關推薦

ReactNative學習搜尋基本佈局

1.佈局 2.程式碼如下 /** * 掃碼框 */ 'use strict'; import React, { Component, Image, TextInput, View, Platform, StyleS

Android開發學習之路--UI之基本佈局

    上一篇文章中主要介紹了ui的控制元件,這裡就學習下佈局吧。android的基本佈局在layout下主要如圖:     從上圖可以看出有FrameLayout(單幀佈局),LinearLayo

ReactNative學習例項() 第三方元件TabNavigator底部導航

TabNavigator是github上開源的一個rn元件,是適用於ios和安卓兩個平臺的底部導航欄。 元件地址:https://github.com/expo/react-native-tab-navigator 1.首先通過命令列將元件引入專案: 進入專案根目錄並執行

ReactNative學習十五橫豎佈局及右上角圓點

1.效果圖 2.原始碼 'use strict'; import React, { Component, View, Image, Text, Dimensions, StyleSheet } from 'react-n

Kotlin 全面學習之路 () -- 屬性與

1、 宣告屬性 在 Kotlin 中 屬性分為 可變屬性 和 只讀屬性: var 可變 val 只讀 示例; class Mike { val name: String = "Mike" var age: Int = 25 }

ES學習記錄9.4——請求體搜尋(位摺疊Filed Collapsing和搜尋後Search After)

1. 欄位摺疊  ES允許基於欄位值摺疊搜尋結果,ES僅對排序後文檔的頂部文件執行成摺疊操作,比如從每個推特使用者獲取它們最好的推文並通過其他使用者的點贊數進行排序(升序): // 建立索引,這裡一定要將user欄位的型別設定為keyword或numeric c

【Katalon學習】Katalon 工具介紹

工具欄 ICON 描述   儲存當前開啟的測試工件。   儲存所有開啟的測試工件。   建立新的測試工件。你可以從下拉列表中選擇這些選項:

每天學習小時以下是不道德的(牛人的語言學習歷程)

我在北美讀書,不斷有小朋友問我學習和申請的事情,不回答不好,回答吧,又好像我有意教人似的。經驗教訓談這種東西最不靠譜,別人的事情,也就是看個熱鬧,該自己奮鬥的還是自己奮鬥。我終於寫了這一篇,寫得很費力,時間太緊迫,為這個擱下了要緊的任務,代價代價。生活殘酷,過河卒子只能拼命

javascript學習筆記()錯誤處理

1.onerror事件處理函式onerror事件處理函式是第一個用來協助javascript處理錯誤的機制。頁面上出現異常時,error事件便在window物件上觸發。例如: <html><head><title>OnError Examp

MongoDB學習筆記基本概念

MongoDB  概念解析 不管我們學習什麼資料庫都應該學習其中的基礎概念,在mongodb中基本的概念是文件、集合、資料庫,下面我們挨個介紹。 下表將幫助您更容易理解Mongo中的一些概念: SQL術語/概念 MongoDB術語/概念 解釋/說明 database database 資料

ReactNative學習之Html基礎

利用 移動 html中 簡單 背景 amp 今天 一個表 擁有 前言: React Native開發作為一種新型的移動開發方式,個人覺得App的一部分需求會逐步替換成這種方式,也是公司移動開發人員所必須掌握的一種開發技術,所以鑒於這種情況我覺得很有必要學習一下,

MySql 基礎學習筆記 1——概述與基本數據類型: 整型: 1)TINYINT 2)SMALLINT 3) MEDIUMINT 4)INT 5)BIGINT 主要是大小的差別 圖 浮點型:命令

where float 函數名 src ron 編碼方式 永遠 -m mas 一、CMD中經常使用mysql相關命令 mysql -D, --database=name //打開數據庫 --delimiter=name //指定分隔符 -h, --host=na

springMVC3學習()--全局的異常處理

== err println url html ror 不同的 處理程序 源代碼下載 在springMVC的配置文件裏:<bean id="exceptionResolver" class="org.springframework.w

學習筆記:矩陣的基本運算的實現

for int size data stdin mat 轉置 span font 2017-09-05 21:33:33 writer:pprp 昨天開始就上課了,沒有整天整天的時間去編代碼了,充分抓住每天晚上的時間吧, 今天下午預習了一下線性代數中矩陣最基本的運算,今晚就

IDEA 學習筆記之 安裝和基本配置

window eclipse 自動 ref size 工作 ips ctr line 安裝和基本配置: 下載:https://www.jetbrains.com/idea/download/#section=windows 下載Zip安裝包: 基礎知識:

C語言學習系列(六)基本語法

xor 12px 左移 程序 str 繼續 p s type false 一、C運算符 算術運算符(語法和java類似或基本一樣略過不再描述) 關系運算符(略) 邏輯運算符(略) 位運算符 運算符描述實例 & 如果同時存在於兩個操作數中,二

Spring學習

spring nta 工程 source art align inf start mysq 1: Tomcat容器四個等級? Container, Engine, Servlet容器, Context 真正管理Servlet的容器是Context容器:一

linux學習() XShell上傳、下載本地文件到linux服務器

下載工具 windows 通過命令 保存文件 技術 lin ram cal 安裝 (一)通過命令行的方式 1.linux服務器端設置 在linux主機上,安裝上傳下載工具包rz及sz; 如果不知道你要安裝包的具體名稱,可以使用yum provides */name 進行查

python學習之第七課時--基本條件語句if

nbsp cnblogs -- ext ack round clas 希望 utf 條件語句 如果我們希望有效的響應用戶的輸入,代碼就需要具有判斷能力。能夠讓程序進行判斷的結構成為條件,條件判斷語句返回的是布爾值真或假,真就執行一條線路,假就執行另外一

MUI學習02-頂部導航

連接 工具條 -a -c title dcl article header 選項卡 建議:先看一下MUI註意事項 連接:http://ask.dcloud.net.cn/article/122 固定欄靠前 所謂的固定欄,也就是帶有.mui-bar屬性的節點,都是基於fix