Как визуализировать тень на представлении? Я пробовал много комбинаций shadowColor, shadowOffset, shadowOpacity и shadowRadius, которые, похоже, ничего не делают. Я уверен, что стиль применяется правильно, поскольку другие атрибуты, которые я установил, работают.Как визуализировать тень?
ответ
Это, кажется, ошибка в React родной, что shadowOpacity
будет установлен тип CGFloat
вместо float
согласно CALayer doc. используйте симулятор iPhone 5 до его исправления. (CGFloat
в старых устройствах float
.)
РЕАКТ Native вопрос, который отслеживает это:
Если вы считаете, что это ошибка, подайте файл радара по адресу http://bugreport.apple.com на примере, иллюстрирующем точку. –
Просто протестировал это в симуляторе iPhone 4s, и тени работают как шарм :) –
@ Симулятор iPhone 4ChristianStrang будет работать нормально. – wangii
Использование высоты для реализации теней на RN Android. Added elevation prop #27
<View elevation={5}> </View>
Теперь вы можете установить его как стиль http://facebook.github.io/react-native/releases/0.26/docs/view.html#style – Charlires
он не поддерживает версию для Android <5.0 – Damathryx
, к сожалению, нет простого способа реализовать это в android <5.0. проверьте эту проблему. https://github.com/facebook/react-native/issues/2768 –
Я использую React-Native 0,40 и ниже код работает для меня.
(высота требуется для андроида, чтобы бросить тень на него)
class MainApp extends Component {
render() {
return (
<View style={styles.container}>
<View elevation={5} style={styles.buttonContainer}>
<Text style={styles.textStyle}>Shadow Applied</Text>
</View>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#FFFFFF'
},
textStyle: {
color: '#FFFFFF'
},
buttonContainer: {
backgroundColor: '#2E9298',
borderRadius: 10,
padding: 10,
shadowColor: '#000000',
shadowOffset: {
width: 0,
height: 3
},
shadowRadius: 5,
shadowOpacity: 1.0
}
})
Проверено на iPhone.
viewStyle : {
backgroundColor: '#F8F8F8',
justifyContent: 'center',
alignItems: 'center',
height: 60,
paddingTop: 15,
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.2,
marginBottom: 10,
elevation: 2,
position: 'relative'
},
Использование MarginBottom: 10
Вы должны дать возвышения пропеллер по просмотру
<View elevation={5} style={styles.container}>
<Text>Hello World !</Text>
</View>
стили могут быть добавлены, как это:
const styles = StyleSheet.create({
container:{
padding:20,
backgroundColor:'#d9d9d9',
shadowColor: "#000000",
shadowOpacity: 0.8,
shadowRadius: 2,
shadowOffset: {
height: 1,
width: 1
}
},
})
panel: {
// ios
backgroundColor: '#03A9F4',
alignItems: 'center',
shadowOffset: {width: 0, height: 13},
shadowOpacity: 0.3,
shadowRadius: 6,
// android (Android +5.0)
elevation: 3,
}
или вы можете использовать react-native-shadow для андроид
, пожалуйста, четко укажите, что вы спрашиваете? –
Все о полях
это работает в Android, но не проверить его на КСН
import React, { PureComponent } from 'react' import PropTypes from 'prop-types' import { View, Platform } from 'react-native' import EStyleSheet from 'react-native-extended-stylesheet' const styles = EStyleSheet.create({ wrapper: { margin: '-1.4rem' }, shadow: { padding: '1.4rem', margin: '1.4rem', borderRadius: 4, borderWidth: 0, borderColor: 'transparent', ...Platform.select({ ios: { shadowColor: 'rgba(0,0,0, 0.4)', shadowOffset: { height: 1, width: 1 }, shadowOpacity: 0.7, shadowRadius: '1.4rem' }, android: { elevation: '1.4rem' } }) }, container: { padding: 10, margin: '-1.4rem', borderRadius: 4, borderWidth: 0, borderColor: '#Fff', backgroundColor: '#fff' } }) class ShadowWrapper extends PureComponent { static propTypes = { children: PropTypes.oneOfType([ PropTypes.element, PropTypes.node, PropTypes.arrayOf(PropTypes.element) ]).isRequired } render() { return ( View style={styles.wrapper} View style={styles.shadow} View style={styles.container} {this.props.children} View View View ) } } export default ShadowWrapper
- 1. Как визуализировать постепенно демпфирующую тень вокруг модели
- 2. Как визуализировать тень DOM в пользовательском элементе полимера
- 3. Тень UIBezierPath: как скрыть тень инсульта?
- 4. Тень тень не так, как ожидалось
- 5. Как нарисовать тень на прозрачном прямоугольнике?
- 6. Коробка тень: скрыть верхнюю тень
- 7. Как создать тень?
- 8. Как удалить тень FloatingActionButton?
- 9. Как переместить коробку-тень?
- 10. Как покрыть тень теней?
- 11. Как тень треугольников серебринки?
- 12. Как создать тень pixi.js?
- 13. Как обеспечить тень кнопки
- 14. Как обнаружить тень текста
- 15. Как центрировать тень текста
- 16. Как нейтрализовать тень?
- 17. CSS тень как изображение
- 18. Прозрачная тень в three.js
- 19. Как создать тень как FloatingActionButton?
- 20. Как визуализировать карту? (картинка)
- 21. Как визуализировать YUI datatable?
- 22. Как визуализировать файл XML
- 23. Как визуализировать шестнадцатеричную сетку
- 24. LWJGL Как визуализировать SSAO
- 25. Как визуализировать зависимости данных
- 26. Как визуализировать OpenStreetMaps?
- 27. Как визуализировать элементы формы?
- 28. Как визуализировать звук?
- 29. Как визуализировать GL_TEXTURE_EXTERNAL_OES?
- 30. Как визуализировать шаги алгоритма
У меня такая же проблема. Была создана и закрыта проблема (https://github.com/facebook/react-native/issues/414). Я предполагаю, что больше информации поступит в официальный документ. – wangii