React?Native之在Android上添加陰影的實(shí)現(xiàn)
在Android上添加陰影
官網(wǎng)中明確表示在react native中陰影的樣式屬性shadow...都是只支持iOS的,并不支持Android。
目前有個(gè)方法
可以讓Android有灰色的陰影,但是無法指定Android機(jī)上的陰影色值,只能是灰色的默認(rèn)。
elevation:4 這個(gè)屬性中的4是代表陰影的高度。
且這個(gè)屬性添加后,不會(huì)影響iOS機(jī)上的原本的彩色的陰影顏色,只是在Android機(jī)上顯示的是默認(rèn)的灰色的陰影。
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 }
補(bǔ)充:有兩種方式,解決安卓可以實(shí)現(xiàn)彩色陰影的問題:
方法一:使用react-native-shadow和react-native-svg實(shí)現(xiàn):
1. npm install react-native-shadow
2. npm install react-native-svg@5.1.8
備注:react-native-svg選擇什么版本安裝,需要根據(jù)你項(xiàng)目的react版本和react-native版本;圖解如下:
3. react-native link react-native-svg
4.開始寫樣式,適合安卓和iOS的陰影,支持透明度,長(zhǎng)度,色值的配置:
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"}}> 測(cè)試 </TouchableOpacity> </BoxShadow> ) } }
事實(shí)證明這種方法可以實(shí)現(xiàn)我們想要的效果。但是這會(huì)牽扯到你的項(xiàng)目不能僅僅通過熱更新來迭代版本;需要發(fā)app store大版本和安卓市場(chǎng)版本。
如有不解,可移步查看react-native-shadow官網(wǎng):
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組件,當(dāng)為單標(biāo)簽是圖片;當(dāng)未雙標(biāo)簽是背景;
如圖:可以看到有屎黃色?的背景:
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android ViewDragHelper仿淘寶拖動(dòng)加載效果
這篇文章主要為大家詳細(xì)介紹了Android ViewDragHelper仿淘寶拖動(dòng)加載效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Android開發(fā)之實(shí)現(xiàn)GridView支付寶九宮格
本文給大家介紹android開發(fā)之實(shí)現(xiàn)gridview支付寶九宮格,其原理是讓每個(gè)item都設(shè)置成帶有分割線的背景,在這不透漏太多內(nèi)容,感興趣的朋友請(qǐng)閱讀全文2015-11-11深入了解Android Okio的超時(shí)機(jī)制
Okio是一個(gè)IO庫,底層基于Java原生的輸入輸出流實(shí)現(xiàn)。但原生的輸入輸出流并沒有提供超時(shí)的檢測(cè)機(jī)制。而Okio實(shí)現(xiàn)了這個(gè)功能,本文就來為大家詳細(xì)講講2023-02-02解決android6.0以上不能讀取外部存儲(chǔ)權(quán)限的問題
今天小編就為大家分享一篇解決android6.0以上不能讀取外部存儲(chǔ)權(quán)限的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08Android實(shí)現(xiàn)登錄功能demo示例
這篇文章主要介紹了Android實(shí)現(xiàn)登錄功能demo示例,涉及登錄信息操作、界面布局、登錄邏輯判斷等相關(guān)操作技巧,需要的朋友可以參考下2016-07-07RecylerView實(shí)現(xiàn)流布局StaggeredGridLayoutManager使用詳解
這篇文章主要為大家詳細(xì)介紹了RecylerView實(shí)現(xiàn)流布局StaggeredGridLayoutManager使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Android中解決頁簽手指按下從左到右滑動(dòng)的bug
有一種方法可以阻止父層的View截獲touch事件,就是調(diào)用 getParent().requestDisallowInterceptTouchEvent(true);方法。這篇文章給大家介紹了Android中解決頁簽手指按下從左到右滑動(dòng)的bug,一起看看吧2016-10-10Android 代碼寫控件代替XML簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android 代碼寫控件代替XML簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-05-05ImageView的屬性android:scaleType的作用分析
本篇文章是對(duì)ImageView的屬性android:scaleType的作用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06