最后
文章所有资料全部已经打包整理好,另外小编手头上整理了大量Android架构师全套学习资料,Android核心高级技术PDF文档+全套高级学习资料+视频+2021 BAT 大厂面试真题解析
资料展示:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
文中的资料绝大部分出自React中文网
一 搭建开发环境
运行
react-native init AwesomeProject
cd AwesomeProject
react-native run-android
三 State(状态)
我们使用两种数据来控制一个组件:props和state。props是在父组件中指定,而且一经指定,在被指定的组件的生命周期中则不再改变。 对于需要改变的数据,我们需要使用state。
一般来说,你需要在constructor中初始化state(ES5:getInitialState方法来初始化state),然后在需要修改时调用setState方法。
五 样式
只是按照JS的语法要求使用了驼峰命名法,例如将background-color改为backgroundColor。
style属性可以是一个普通的JavaScript**对象**。这是最简单的用法,因而在示例代码中很常见。你还可以传入一个数组——在数组中位置**居后的样式对象比居前的优先级更高**,这样你可以间接实现样式的继承。
实际开发中组件的样式会越来越复杂,我们建议使用**StyleSheet.create
**来集中定义组件的样式。
class LotsOfStyles extends Component {
render() {
return (
<Text style={[styles.bigblue, styles.red]}>bigblue, then red
<Text style={[styles.red, styles.bigblue]}>red, then bigblue
<Text style={[styles.bigblue,{color:‘black’}]} > {display}
);
}
}
const styles = StyleSheet.create({
bigblue:{
color:‘blue’,
fontWeight:‘bold’,
fontSize:30,
color:‘red’,
}
});
六 高度与宽度
指定宽高
在样式中指定固定的width和height。React Native中的尺寸都是无单位的,表示的是与设备像素密度无关的逻辑像素点。(dp)
<View style={{width: 50, height: 50, backgroundColor: ‘powderblue’}} />
弹性宽高(Flex)
在组件样式中使用flex
可以使其在可利用的空间中动态地扩张或收缩。一般而言我们会使用flex:1
来指定某个组件扩张以撑满所有剩余的空间。
组件能够撑满剩余空间的前提是其父容器的尺寸不为零。如果父容器既没有固定的width和height,也没有设定flex,则父容器的尺寸为零。其子组件如果使用了flex,也是无法显示的。
此时子控件除非强制制定width height 才能显示
// 试试去掉父View中的flex: 1
。
// 则父View不再具有尺寸,因此子组件也无法再撑开。
// 然后再用height: 300
来代替父View的flex: 1
试试看?
<View style={{flex: 1}}>
<View style={{flex: 1, backgroundColor: ‘powderblue’}} />
<View style={{flex: 2, backgroundColor: ‘skyblue’}} />
<View style={{flex: 3, backgroundColor: ‘steelblue’}} />
七 使用Flexbox布局
flexDirection(方向) justifyContent(主轴分布方式) alignItems(次轴分布方式)
使用flexbox规则来指定某个组件的子元素的布局。
一般来说,使用flexDirection、alignItems和 justifyContent三个样式属性就已经能满足大多数布局需求。译
结语
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!以下是目录截图:
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。
再附一部分Android架构面试视频讲解:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。*
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!