React Native 实战系列二

一.自定义头部导航条

1.CSS 属性科普

align-items:

*The align-items property applies to all flex containers, and sets the default alignment of the flex items along the cross axis of each flex line. 

*align-items属性适用于所有的flex容器,它是用来设置每个flex元素在侧轴上的默认对齐方式。

*align-items和align-content有相同的功能,不过不同点是它是用来让每一个单行的容器居中而不是让整个容器居中。

justifyContent:

*语法:justify-content: flex-start | flex-end | center | space-between | space-around
*flex-start:弹性项目向行头紧挨着填充。这个是默认值。第一个弹性项的main-start外边距边线被放置在该行的main-start边线,而后续弹性项依次平齐摆放。
*flex-end:弹性项目向行尾紧挨着填充。第一个弹性项的main-end外边距边线被放置在该行的main-end边线,而后续弹性项依次平齐摆放。
*center:弹性项目居中紧挨着填充。(如果剩余的自由空间是负的,则弹性项目将在两个方向上同时溢出)。
*space-between:弹性项目平均分布在该行上。如果剩余空间为负或者只有一个弹性项,则该值等同于flex-start。否则,第1个弹性项的外边距和行的main-start边线对齐,而最后1个弹性项的外边距和行的main-end边线对齐,然后剩余的弹性项分布在该行上,相邻项目的间隔相等。
*space-around:弹性项目平均分布在该行上,两边留有一半的间隔空间。如果剩余空间为负或者只有一个弹性项,则该值等同于center。否则,弹性项目沿该行分布,且彼此间隔相等(比如是20px),同时首尾两边和弹性容器之间留有一半的间隔(1/2*20px=10px)。
2.React Native组件生命周期:
componentWillMount:组件挂载之前
getInitialState:初始化
render:渲染
componentDidMount:渲染完毕,开始挂载
componentWillUnmount:组件被卸载之前
3.自定义Component
export default class CommonCell extends Component {


  constructor(props) {
    super(props);
    alert('constructor'+props.title);//这里可以获取到对应的值
    this.state = {
      title: props.title,
      isInfoVisible: props.isInfoVisible,
      info: props.info
    }
  }


  render() {
    return (
      this.renderCellView(this.props.title,this.props.info)//不知道这里这样传参数有没有问题
    );
  }

  /**
   * renderCellView
   * 渲染该条目
   * 该条目中,需要的参数
   * 1.标题(扫一扫 String)
   * 2.右边文字是否显示(1.94M boolean)
   * 3.右边文字取值(1.94M String)
   */
  renderCellView(title,info) {
    return (
      <TouchableOpacity onPress={() => { this.viewOnPressed() }} >
        <View style={styles.container}>
          <Text style={styles.leftTextStyle}>
         title---这里有问题
          </Text>
          <View style={styles.rightViewStyle}>
            <Text style={styles.rightTextStyle}>
             info---这里有问题
            </Text>
            <Image source={{ uri: 'icon_cell_rightarrow' }} style={styles.rightImgStyle} />
          </View>
        </View>
      </TouchableOpacity >
    )
  }
  /**
   * 条目点击事件
   */
  viewOnPressed() {
    alert('item---onpressed');
  };
}

const styles = StyleSheet.create({
  container: {
    borderBottomColor: '#dddddd',
    borderBottomWidth: 0.5,
    backgroundColor: 'white',
    flexDirection: 'row',
    height: 60,
    alignItems: 'center',
  },
  //右侧Image+Text
  rightViewStyle: {
    position: 'absolute',
    right: 30,
    flexDirection: 'row',
    alignItems: 'center',

  },
  leftTextStyle: {
    fontSize: 20,
    textAlign: 'center',
    marginLeft: 20,
  },
  rightTextStyle: {
    fontSize: 15,
    textAlign: 'center',
    marginRight: 20,
  },
  rightImgStyle: {
    position: 'relative',
    width: 8,
    height: 13
  },

})


使用方法如下:
 <CommonCell
            title='TestTitle'
            isInfoVisible='false'
            info='ceshiinfo'
          />
1.现在的有一个问题就是:在组件中可以以得到对应的属性值,但是不知道如何使用到组件中去,如果有明白的请致电


解答:React Native 中使用{}括号的意思是括号内部为一个js变量或表达式,需要执行后取值。因此我们可以把任意合法的JavaScript表达式通过括号嵌入到JSX语句中
2.问题,如何根据传过来的参数,得到bool值,因为js是弱类型的,不知道传递参数的时候,如何赋值
解答:可以通过得到对应的属性值,然后比如可以通过“==”或者“===”来验证参数

3.如何在css中拿到当前组件的属性值,并使用?
4.如何在自定义Component的时候,传递某个函数,比如将点击事件传递过去,类似于Android中的接口回掉
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值