您好,登錄后才能下訂單哦!
這篇文章主要介紹“React Native之如何在Android上添加陰影”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“React Native之如何在Android上添加陰影”文章能幫助大家解決問題。
官網中明確表示在react native中陰影的樣式屬性shadow...都是只支持iOS的,并不支持Android。
可以讓Android有灰色的陰影,但是無法指定Android機上的陰影色值,只能是灰色的默認。
elevation:4 這個屬性中的4是代表陰影的高度。
且這個屬性添加后,不會影響iOS機上的原本的彩色的陰影顏色,只是在Android機上顯示的是默認的灰色的陰影。
btnView:{ width:170, alignItems:'center', borderRadius:20, height:35, justifyContent:'center', backgroundColor: Color.CMHeaderBgColor, //以下是陰影屬性: shadowOffset: {width: 0, height: 5}, shadowOpacity: 0.5, shadowRadius: 5, shadowColor: Color.CMHeaderBgColor, //注意:這一句是可以讓安卓擁有灰色陰影 //elevation: 4, zIndex: Global.isIOS() ? 1 : 0 }
補充:有兩種方式,解決安卓可以實現彩色陰影的問題:
方法一:使用react-native-shadow和react-native-svg實現:
1. npm install react-native-shadow
2. npm install react-native-svg@5.1.8
備注:react-native-svg選擇什么版本安裝,需要根據你項目的react版本和react-native版本;圖解如下:
3. react-native link react-native-svg
4.開始寫樣式,適合安卓和iOS的陰影,支持透明度,長度,色值的配置:
import React, {Component} from 'react' import { StyleSheet, View, Text, ScrollView, Image, TouchableOpacity } from 'react-native' import {BoxShadow} from 'react-native-shadow' export default class VideoCell extends Component { render = () => { const shadowOpt = { width:160, height:170, color:"#000", border:2, radius:3, opacity:0.2, x:0, y:3, style:{marginVertical:5} } return ( <BoxShadow setting={shadowOpt}> <TouchableOpacity style={{ position:"relative", width: 160, height: 170, backgroundColor: "#fff", borderRadius:3, // marginVertical:5, overflow:"hidden"}}> 測試 </TouchableOpacity> </BoxShadow> ) } }
事實證明這種方法可以實現我們想要的效果。但是這會牽扯到你的項目不能僅僅通過熱更新來迭代版本;需要發app store大版本和安卓市場版本。
如有不解,可移步查看react-native-shadow官網:
https://www.npmjs.com/package/react-native-shadow
方法二:
我們可以使用陰影圖作為背景圖,附著上去的方法:
<Image source={require('../../content/img/bank/shadowBg.png')} style={{width: deviceWidth-20, height: 220, alignItems: 'center',resizeMode:Image.resizeMode.contain}}> <View style={styles.bankTop}></View> </Image>
Image組件,當為單標簽是圖片;當未雙標簽是背景;
如圖:可以看到有屎黃色?的背景:
關于“React Native之如何在Android上添加陰影”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。