最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Windows下React Native的Android環(huán)境部署及布局示例

 更新時間:2024年07月01日 11:36:17   作者:jayzou  
這篇文章主要介紹了Windows下React Native的Android環(huán)境部署及布局示例,這里安卓開發(fā)IDE建議使用Android Studio,且為Windows安裝npm包管理器,需要的朋友可以參考下

搭建基礎(chǔ)環(huán)境

  • JDK(必須,不解釋)
  • SDK(建議使用Android Studio,集成SDK以及模擬器)
  • genymotion(如果是使用真機或者Android Studio自帶的模擬器,可以選擇不裝)
  • NVM(node版本控制器,需要node4.0以上版本)

以上配置不是必須,可自行選擇適合自己的環(huán)境

配置踩坑記錄
genymotion

這里選擇genymotion模擬器來講解,也會提一下Android Studio自帶的模擬器的一些注意點,使用真機的朋友可跳過這段。
genymotion的安裝有2種模式,一種是帶有Oracle VM VirtualBox虛擬機,另外一種是純凈版,genymotion的運行依賴VirtualBox虛擬機。

選擇下載android6.0-API 23模擬器

2016310144554616.png (794×248)

(如果無法顯示API列表,請配置代理Settings->NetWork->Use HTTP Proxy)
啟動模擬器,可能會有部分人卡在android啟動界面上面,無法進(jìn)入

2016310144618611.png (521×245)

genymotion的運行基于X86的架構(gòu),比起arm,X86的性能更流暢。我們需要使用X86架構(gòu)的話,還需要安裝HAXM。

1、打開SDK Manager->Extras->Intel x86 Emulator Accelerator,安裝即可,如果沒有任何東西顯示,還是代理問題,Tools->Options->Proxy Settings

2、進(jìn)入C:\Users\用戶\AppData\Local\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Manager
安裝intelhaxm-android.exe,安裝出錯,請參考這里

至此我們就能進(jìn)入模擬器界面

Android Studio
如果想使用android studio自帶模擬器,可以打開AVD Manager->Create Virtual Device->選擇自己需要的android版本
值得注意的是,模擬器默認(rèn)選擇X86架構(gòu),如果你不喜歡,你需要自己手動改成arm架構(gòu)

2016310144659242.png (1351×319)

NVM
這里選擇用NVM來控制node版本,如果你已經(jīng)裝過node4.0以上的版本,就跳過這里。
安裝方式和使用文檔,github上面講的很清楚,這里說下代理的配置,其實也就是npm的代理,配置全局代理

npm config set proxy=you proxy
npm config set https-proxy=you https proxy

React-native初始化
心理默默祈禱以下命令千萬不要錯誤。。。

npm install -g react-native-cli
react-native init AwesomeProject
cd AwesomeProject
react-native start
react-native run-android

果然。。。好吧,這里分享下自己遇到的一些問題

  • npm install -g react-native-cli:出錯的最大可能就是node版本低于4.0或者代理沒配置成功
  • react-native run-android:這個命令會下載gradle依賴,執(zhí)行失敗的原因大部分也是因為代理的問題

進(jìn)入C:\Users\用戶\AppData\.gradle,打開gradle.properties(不存在就新建一個),修改

systemProp.https.proxyHost=You https proxy
systemProp.https.proxyPort=You https proxyPort
systemProp.http.proxyHost=You proxy
systemProp.http.proxyPort=You proxyPort

總算是把android應(yīng)用程序跑起來了,真累人啊

2016310144802849.png (537×531)

布局
這里以三種經(jīng)典布局來講解react-native布局概念,主要以flexbox為主,react native中有兩個基本元素< View >與< Text >,分別類似于web端div和span,用于布局和修飾。需要注意的是,react native不是所有的CSS屬性都支持,這里有react native所支持的CSS屬性。

準(zhǔn)備工作
在JSX中寫樣式還是有點不習(xí)慣,這里使用react-native-css模塊來編寫樣式,安裝、使用過程如下:

npm install react-native-css -g 
react-native-css -i style.css -o style.js --watch

布局講解
左右布局

由于是橫向布局,我們需要flex-direction: row(默認(rèn)縱向布局),左右以1:1方式排版,就都需要flex:1,布局容器也需要加上flex:1,表示為伸縮容器。由于react native沒有br標(biāo)簽,需要換行只能將換行符插入。

樣式表:

wrap {
 flex:1;
 flex-direction: row;
 background-color: yellow;
}

left{
 flex:1;
 background-color: #64BA9D;
}

right{
 flex:1;
 background-color: #008E59;
}

text{
 padding:10;
 font-size:16;
 color:#EEEEEE;
 line-height:20;
 text-align: center;
}

頁面結(jié)構(gòu):

<View style={styles.wrap}>
  <View style={styles.left}>
   <Text style={styles.text}>
    這是左側(cè)欄{'\n'}
    這是左側(cè)欄{'\n'}
    這是左側(cè)欄{'\n'}
    這是左側(cè)欄{'\n'}
   </Text>
  </View>
  <View style={styles.right}>
   <Text style={styles.text}>
    這是右側(cè)欄{'\n'}
    這是右側(cè)欄{'\n'}
    這是右側(cè)欄{'\n'}
    這是右側(cè)欄{'\n'}
   </Text>
  </View>
</View>

2016310144925872.png (629×1074)

左中右布局
左右定寬,中間占滿。

樣式表:

wrap {
 flex:1;
 flex-direction: row;
 background-color: yellow;
}

left{
 width: 80;
 background-color: #64BA9D;
}

centent{
 flex:1;
 background-color: #a9ea00;
}

right{
 width: 80;
 background-color: #008E59;
}

text{
 padding:10;
 font-size:16;
 color:#EEEEEE;
 line-height:20;
 text-align: center;
}

頁面結(jié)構(gòu):

<View style={styles.wrap}>
  <View style={styles.left}>
   <Text style={styles.text}>
    這是左側(cè)欄{'\n'}
    這是左側(cè)欄{'\n'}
    這是左側(cè)欄{'\n'}
    這是左側(cè)欄{'\n'}
   </Text>
  </View>
  <View style={styles.centent}>
   <Text style={styles.text}>
    這是內(nèi)容區(qū){'\n'}
    這是內(nèi)容區(qū){'\n'}
    這是內(nèi)容區(qū){'\n'}
    這是內(nèi)容區(qū){'\n'}
   </Text>
  </View>
  <View style={styles.right}>
   <Text style={styles.text}>
    這是右側(cè)欄{'\n'}
    這是右側(cè)欄{'\n'}
    這是右側(cè)欄{'\n'}
    這是右側(cè)欄{'\n'}
   </Text>
  </View>
</View>

2016310145019856.png (630×1090)

上中下布局
類似新聞和門戶APP的布局,上下貼邊,中間為內(nèi)容區(qū)。

樣式表:

wrap {
 flex:1;
 flex-direction:column;
}

top{
 height: 40;
 background-color: #008E59;
}
centent{
 flex:1;
 background-color: #64BA9D;
}

bottom{
 height: 40;
 background-color: #a9ea00;
}

text{
 padding:10;
 font-size:16;
 color:#fff;
 line-height:20;
 text-align: center;
}

頁面結(jié)構(gòu):

<View style={styles.wrap}>
  <View style={styles.top}>
   <Text style={styles.text}>
    頭部信息
   </Text>
  </View>
  <View style={styles.centent}>
   <Text style={styles.text}>
    這是內(nèi)容區(qū){'\n'}
   </Text>
  </View>
  <View style={styles.bottom}>
   <Text style={styles.text}>
    尾部信息
   </Text>
  </View>
</View>

綜合布局
簡單模擬網(wǎng)易新聞APP布局:

我們可以簡單看看APP布局方式,總體來說就是上中下的布局方式,我們可以初步先編寫外部結(jié)構(gòu)
頁面結(jié)構(gòu):

<View style={styles.wrap}>
  <View style={styles.top}>
   <Text>頭部</Text>
  </View>
  <View style={styles.cententWrap}>
   <Text>新聞主題</Text>
  </View>
  <View style={styles.bottom}>
   <Text>
    尾部導(dǎo)航
   </Text>
  </View>
</View>

樣式表:

wrap {
 flex:1;
 flex-direction:column;
}
top{
 height: 40;
 background-color: #EC403C;
}
cententWrap{
 flex:1;
 flex-direction:column;
}
bottom{
 height: 40;
}

大致結(jié)構(gòu)算是搭建完畢,開始完善頭部展示(偷懶、不想切圖,就用個title代替就好啦~~~)
頁面結(jié)構(gòu):

<View style={styles.wrap}>
  <View style={styles.top}>
   <Text style={styles.topTitle}>網(wǎng)易</Text>
  </View>
  <View style={styles.cententWrap}>
   <Text>新聞主題</Text>
  </View>
  <View style={styles.bottom}>
   <Text>
    尾部導(dǎo)航
   </Text>
  </View>
</View>

樣式表:

topTitle{
 margin-top: 15;
 margin-left: 20;
 text-align: left;
 font-size: 14;
 color:#FFF;
}

頭部內(nèi)容完成之后,就完善內(nèi)容區(qū)域的導(dǎo)航條,但是react-native并沒有提供ul、li標(biāo)簽(也許以后有),這個是要View來代替ul,Text代替li,代碼和數(shù)據(jù)如下:
頁面結(jié)構(gòu):

var cententNav = ['頭條', '熱點', '娛樂', '體育', '財經(jīng)'];
return (
 <View style={styles.wrap}>
  <View style={styles.top}>
   <Text style={styles.topTitle}>網(wǎng)易</Text>
  </View>
  <View style={styles.cententWrap}>
   <View style={styles.cententNav}>
    {
     cententNav.map(function(el, index){
      return <Text style={styles.cententNavText}>
       <Text style={index == 0 ? styles.textR : ""}>{cententNav[index]}</Text>
      </Text>

     })
    }
   </View>
  </View>
  <View style={styles.bottom}>
   <Text>
    尾部導(dǎo)航
   </Text>
  </View>
 </View>
);

樣式表:

cententWrap{
 flex:1;
 flex-direction:column;
}
cententNav{
 flex-direction: row;
 height: 20;
 margin-left: 5;
 margin-top: 5;
 margin-right: 5;
}
cententNavText{
 width: 60;
 font-size: 14;
 color: #9C9C9C;
 margin-left: 10;
}

新聞主題方面可以劃分為左右兩欄,左欄固定寬,右欄占滿,由于react-native不支持overflow:scroll屬性,這里會用到一個ScrollView的滾動條組件來展示新聞概述,篇幅可能較長,底部就不再編寫了(就是懶~~),大家各自完善吧,以下是全部的布局代碼和樣式。

頁面結(jié)構(gòu):

樣式表:

wrap {
 flex:1;
 flex-direction:column;
}

top{
 height: 40;
 background-color: #EC403C;
}
topTitle{
 margin-top: 15;
 margin-left: 20;
 text-align: left;
 font-size: 14;
 color:#FFF;
}

cententWrap{
 flex:1;
 flex-direction:column;
}
cententNav{
 flex-direction: row;
 height: 20;
 margin-left: 5;
 margin-top: 5;
 margin-right: 5;
}
cententNavText{
 width: 60;
 font-size: 14;
 color: #9C9C9C;
 margin-left: 10;
}
centent{
 flex:1;
 flex-direction:column;
 borderBottomWidth:1;
}
cententLi{
 flex-direction: row;
 margin-left: 10;
 margin-right: 10;
}
cententImg{
 width: 80;
 height: 80;
}
cententTitle{
 font-size: 16;
 color: #232323;
 margin-bottom: 3;
}
cententCentent{
 font-size: 12;
}
rightCentent{
 flex: 1;
 padding-left: 5;
 padding-top: 5;
 padding-right: 5;
 padding-bottom: 5;
}
cententType{
 width: 40;
 height: 22;
 position: absolute;
 bottom: 0;
 right: 0;
}

bottom{
 height: 40;
}

text{
 padding:10;
 font-size:16;
 color:#000;
 line-height:20;
 text-align: center;
}

textR{
 font-weight: bold;
 color:#EC403C;
}
line{
 height: 1;
 background-color: #E4E4E4;
 margin-left: 10;
 margin-right: 10;
 margin-top: 7;
 margin-bottom: 7;
}

相關(guān)文章

  • Android仿網(wǎng)易新聞圖片詳情下滑隱藏效果示例代碼

    Android仿網(wǎng)易新聞圖片詳情下滑隱藏效果示例代碼

    這篇文章主要給大家介紹了關(guān)于利用Android如何仿網(wǎng)易新聞圖片詳情下滑隱藏效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Android屏蔽后退鍵的小例子

    Android屏蔽后退鍵的小例子

    這篇文章介紹了Android屏蔽后退鍵的小例子,有需要的朋友可以參考一下
    2013-07-07
  • 深入解析Android App開發(fā)中Context的用法

    深入解析Android App開發(fā)中Context的用法

    這篇文章主要介紹了深入解析Android App開發(fā)中Context的用法,包括Context的創(chuàng)建場景和Context對資源的訪問等內(nèi)容,需要的朋友可以參考下
    2016-02-02
  • Android創(chuàng)建文件實現(xiàn)對文件監(jiān)聽示例

    Android創(chuàng)建文件實現(xiàn)對文件監(jiān)聽示例

    Android創(chuàng)建文件實現(xiàn)對文件監(jiān)聽,可以用android.os.FileObserver;類來實現(xiàn),下面是實現(xiàn)代碼,內(nèi)有注釋
    2014-01-01
  • Android開發(fā)中使用Volley庫發(fā)送HTTP請求的實例教程

    Android開發(fā)中使用Volley庫發(fā)送HTTP請求的實例教程

    這篇文章主要介紹了Android開發(fā)中使用Volley庫發(fā)送HTTP請求的實例教程,包括創(chuàng)建Volley單例的基本知識與取消Request請求的技巧等,需要的朋友可以參考下
    2016-05-05
  • Android實現(xiàn)定時任務(wù)及鬧鐘

    Android實現(xiàn)定時任務(wù)及鬧鐘

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)定時任務(wù)及鬧鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Android 美食大轉(zhuǎn)盤詳解流程

    Android 美食大轉(zhuǎn)盤詳解流程

    今天為大家?guī)硪黄狝ndroid實例項目,美食大轉(zhuǎn)盤,當(dāng)你還在為明天吃什么而煩惱時,它將幫你做出最佳的選擇,美食大轉(zhuǎn)盤詳細(xì)流程來咯
    2021-11-11
  • Android 中使用ContentObserver模式獲取短信用正則自動填充驗證碼

    Android 中使用ContentObserver模式獲取短信用正則自動填充驗證碼

    這篇文章主要介紹了Android 中使用ContentObserver模式獲取短信用正則自動填充驗證碼,首先使用了ContentObserver監(jiān)聽短信,然后從短信中用正則的分組去拿到驗證碼,具體實現(xiàn)代碼大家參考下本文
    2017-02-02
  • Android實現(xiàn)京東App分類頁面效果

    Android實現(xiàn)京東App分類頁面效果

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)京東App分類頁面效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Android中AOP的應(yīng)用實踐之過濾重復(fù)點擊

    Android中AOP的應(yīng)用實踐之過濾重復(fù)點擊

    這篇文章主要給大家介紹了關(guān)于Android中AOP的應(yīng)用實踐之過濾重復(fù)點擊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09

最新評論

台中县| 尼玛县| 政和县| 商丘市| 阳泉市| 广河县| 新建县| 松江区| 修水县| 太谷县| 临高县| 宜阳县| 华阴市| 昆山市| 海宁市| 镇赉县| 绥化市| 正安县| 定西市| 英超| 巴东县| 英山县| 桦南县| 英超| 梧州市| 仙居县| 塘沽区| 繁昌县| 彭州市| 云阳县| 金华市| 禄劝| 新巴尔虎右旗| 南雄市| 探索| 龙门县| 博野县| 胶州市| 易门县| 准格尔旗| 丹棱县|