概念html
建立UI时最基础的组件,绝大部分组件都继承了View组件的属性。 View是一个支持FlexBox布局,样式,一些触摸处理和一些无障碍功能的容器。而且能够放在其余的视图里,也能够有多个任意类型的子视图。 不论在什么平台上,View都会直接对应一个平台的原生视图,不管它是UIView,div仍是android.view.View。react
下面建立了一个View,里面包含了两个Viewandroid
class ViewDemo extends Component {
render(){
return(
<View style={{
flexDirection:'row',
height:100,
padding:20
}}>
<View style={{backgroundColor:'red' flex: 0.3}}/>
<View style={{backgroundColor:'blue' flex: 0.5}}/>
<Text></Text>
</View>
)
}
}
复制代码
View的设计初衷是为了搭配StyleSheet使用,这样是代码更清晰且得到更高的性能react-native
style属性用于设置View的样式,能够设置多种属性,以下bash
View组件支持FlexBox布局函数
安卓手机上设置阴影与IOS上不一致,iOS使用shadow属性,Android使用elevation,可是效果不够好,推荐使用第三方库,react-native-shadow布局
View组件提供了四种阴影属性,以下:性能
elevation的值为number。Android平台没有shadow来设置阴影,可是能够用elevation属性来间接设置阴影。它使用Android原生的elevation API来设置组件的高度,这样就会在页面上呈现阴影的效果,此效果只支持Android 5.0+flex
注意:动画
若是不设置borderRadius,borderStyle的dotted和dashed的取值会失效。
transform的取值分为四种类型,translate(平移),scale(缩放),rotate(旋转),skew(倾斜)。 rotate和skew的区别,rotate在旋转的同时,不会改变组件自己的形态,而skew则随着倾斜角度的改变,组件的形态也会发生相应的变化。 View组件用transform属性的效果不是很明显,绝大部分组件都继承了View的transform属性。
overflow取值为visable,hidden,用来定义当View组件的子组件的宽高超过View组件宽高时的行为,默认值为hidden,即隐藏超出的部分。 oveflow只在iOS平台有效,在Android平台即便设置overflow为visable,呈现的仍是hidden的效果。
设置背景颜色,默认为很是浅的灰色,只有Text和TextInput会继承父组件的背景颜色,其余的组件都要设置本身的背景颜色。
opacity的值为0到1,当0时,表示组件彻底透明,为1时,表示组件彻底不透明。
1.官方文档 2.React Native组件(二)View组件解析 | 刘望舒的博客