React Native 安卓添加陰影


在RN中,陰影屬性是只對IOS生效,在安卓中,要是設置的是黑色的陰影,可以通過設置elevation屬性,但是如果是其他顏色的陰影的時候就需要使用特殊的方式:

SVG + react-native-shadow插件:

import React, {Component} from 'react';
import {
  StyleSheet,
  Text,
  View,
  Image,
  WebView,
  ScrollView,
  NativeModules,
  TouchableHighlight,
} from 'react-native';

import {BoxShadow} from 'react-native-shadow';

const {MeiyouRNBridge} = NativeModules,
  {windowWidth, windowHeight} = MConfig;

export default class SortList extends MBase {
  constructor(props) {
    super(props);
    this.state = {
    };
  }

  componentWillMount() {
    super.componentWillMount();
    MeiyouRNBridge.setLoadingState(0);
  }

  componentDidMount() {
    super.componentDidMount();
  }

  render() {
    const shadowOpt = {
      width: 160,
      height: 170,
      color: '#e47854',
      border: 2,
      radius: 3,
      opacity: 0.2,
      x: 0,
      y: 3,
      style: {
        marginVertical: 5}};

    return (
      <BoxShadow setting={shadowOpt}>
        <TouchableHighlight style={styles.box}>
            <Text>ddddd</Text>
        </TouchableHighlight>
      </BoxShadow>
    );
  }
}

const styles = StyleSheet.create({
  wrap: {
    flex: 1,
    // backgroundColor: MConfig.Color.primaryColor,
  },
  box: {
    position: 'relative',
    width: 160,
    height: 170,
    backgroundColor: '#fff',
    borderRadius: 3,
    borderWidth: 1,
    overflow: 'hidden',
  },
});

注意:

1、SVG的版本與RN的版本相對應(必須的,不然沒有效果哦~~~具體查看react-native-svg文檔信息):https://github.com/react-native-community/react-native-svg

2、react-native-shadow插件:https://www.npmjs.com/package/react-native-shadow


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM