【React Native开发】React Native控件之DrawerLayoutAndroid抽屉导航切换组件讲解(13)

转载请标明出处:

http://blog.csdn.net/developer_jiangqq/article/details/50599951

本文出自:【江清清的博客】

(一)前言

今天我们一起来看一下抽屉DrawerLayoutAndroid导航切换控件的讲解与基本使用。

刚创建的React Native技术交流群(282693535),欢迎各位大牛,React Native技术爱好者加入交流!同时博客左侧欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送!

该DrawerLayoutAndroid组件封装了Android平台的DrawerLayout控件(只限定与Android平台)。该抽屉页面(经常用于导航页面)是通过renderNavigationView进行渲染的。该DrawerLayoutAndroid的中的子视图会变成主视图(主要用于放置内容)。我们知道导航菜单中。导航栏的视图在屏幕中一开始是隐藏的,但是我们可以通过drawerPostition指定位置进行把导航视图拖拽出来,最终拖拽出来的距离大小可以使用drawerWidth属性进行指定。

(二)使用基本介绍

该控件用起来也还是相对比较简单的,只要熟悉一下其中基本的属性和方法即可,下面来看官方的一个实例:

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 */
‘use strict‘;
import React, {
  AppRegistry,
  Component,
  StyleSheet,
  Text,
  View,
  DrawerLayoutAndroid,
} from‘react-native‘;

class DrawerLayoutDemo extends Component {
  render() {
    var navigationView = (
    <View style={{flex: 1, backgroundColor:‘#fff‘}}>
      <Text style={{margin: 10, fontSize:15, textAlign: ‘left‘}}>I‘m in the Drawer!</Text>
    </View>
  );
  return (
    <DrawerLayoutAndroid
      drawerWidth={300}
     drawerPosition={DrawerLayoutAndroid.positions.Left}
      renderNavigationView={() =>navigationView}>
      <View style={{flex: 1, alignItems:‘center‘}}>
        <Text style={{margin: 10, fontSize:15, textAlign: ‘right‘}}>Hello</Text>
        <Text style={{margin: 10, fontSize:15, textAlign: ‘right‘}}>World!</Text>
      </View>
    </DrawerLayoutAndroid>
   );
  }
}
const styles =StyleSheet.create({
});
AppRegistry.registerComponent(‘DrawerLayoutDemo‘,() => DrawerLayoutDemo);

运行效果如下:

(三)使用基本介绍

3.1.View的属性使用  继承了View控件的属性信息(例如:宽和高,背景颜色,边距等相关属性样式)

3.2.drawerPosition   参数为枚举类型(DrawerConsts.DrawerPosition.Left,DrawerConsts.DrawerPosition.Right)

进行指定导航菜单用那一侧进行滑动出来,根据官方实例最终传入的两个枚举值分别   为:DrawerLayoutAndroid.positions.Left和DrawerLayoutAndroid.positions.Right

3.3.drawerWidth  进行指定导航菜单视图的宽度,也就是说该侧面导航视图可以从屏幕边缘拖拽到屏幕的宽度距离

3.4.keyboardDismissMode   参数为枚举类型(‘none‘,‘on-drag‘) 进行指定在导航视图拖拽的过程中是否要隐藏键盘

  • none   (默认值),默认不会隐藏键盘
  • on-drag  当拖拽开始的时候进行隐藏键盘

3.5.onDrawerClose  function 方法 当导航视图被关闭后进行回调该方法

3.6.onDrawerOpen   function 方法 当导航视图被打开后进行回调该方法

3.7.onDrawerSlide  function  方法  当导航视图和用户进行交互的时候调用该方法

3.8.onDrawerStateChanged function方法,该当导航视图的状态发生变化的时候调用该方法。该状态会有以下三种状态

  • idle (空闲) 表示导航视图上面没有任何交互状态
  • dragging (正在拖拽中)   表示用户正在和导航视图产生交互动作
  • settling (暂停-刚刚结束)  表示用户 刚刚结束和导航视图的交互动作,当前导航视图正在打开或者关闭拖拽滑动动画效果

3.9.renderNavigationView  function 方法,该方法进行渲染一个导航抽屉的视图(用于用户从屏幕边缘拖拽出来)

(四)DrawerLayoutAndroid使用实例

具体基本使用实例代码如下:

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 */
‘use strict‘;
import React, {
  AppRegistry,
  Component,
  StyleSheet,
  Text,
  View,
  DrawerLayoutAndroid,
} from‘react-native‘;

class DrawerLayoutDemo extends Component {
  render() {
    var navigationView = (
    <View style={{flex: 1, backgroundColor:‘blue‘}}>
      <Text style={{margin:10,color:‘#fff‘,fontSize: 15, textAlign: ‘center‘}}>我是导航功能栏标题</Text>
      <Textstyle={{marginTop: 10,marginLeft:20,color:‘#fff‘,fontSize: 15, textAlign:‘left‘}}>1.功能1</Text>
      <Textstyle={{marginTop: 10,marginLeft:20,color:‘#fff‘,fontSize: 15, textAlign:‘left‘}}>2.功能2</Text>
    </View>
  );
  return (
    <DrawerLayoutAndroid
      drawerWidth={150}
     drawerPosition={DrawerLayoutAndroid.positions.left}
      renderNavigationView={() =>navigationView}>
      <View style={{flex: 1, alignItems:‘center‘}}>
        <Textstyle={{margin: 10, fontSize: 15, textAlign: ‘right‘}}>我是主布局内容</Text>
      </View>
    </DrawerLayoutAndroid>
   );
  }
}
const styles =StyleSheet.create({
});
AppRegistry.registerComponent(‘DrawerLayoutDemo‘,() => DrawerLayoutDemo);

运行效果截图:

(五)最后总结

今天我们主要学习一下DrawerLayoutAndroid抽屉导航视图切换的介绍以及使用方法。大家有问题可以加一下群React Native技术交流群(282693535)或者底下进行回复一下。

尊重原创,转载请注明:From Sky丶清(http://blog.csdn.net/developer_jiangqq) 侵权必究!

关注我的订阅号(codedev123),每天分享移动开发技术(Android/IOS),项目管理以及博客文章!(欢迎关注,第一时间推送精彩文章)

关注我的微博,可以获得更多精彩内容

时间: 2024-09-30 13:04:02

【React Native开发】React Native控件之DrawerLayoutAndroid抽屉导航切换组件讲解(13)的相关文章

React Native控件之PullToRefreshViewAndroid下拉刷新组件讲解

转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50664323 本文出自:[江清清的博客] (一)前言 今天我们一起来看一下PullToRefreshViewAndroid下拉刷新组件讲解以及使用实例 刚创建的React Native技术交流群(282693535),欢迎各位大牛,React Native技术爱好者加入交流!同时博客左侧欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送! 该PullToRefr

javascript控件开发之工具栏控件

在前几篇的基础上,本篇将开发工具栏控件,工具栏控件一般包括三部份, 1.toolBar控件,简单说就是工具栏容器, 2.toolButton控件,即工具栏上的按钮控件,该按钮控件包括图标和文字两部份, 3.则是分隔符控件,一般分隔符控件也是在toolButton控件基础上引申出来的, 为了简单易学,我们这里直接用上一篇的控件作为toolBar控件使用,也就是我们这次编写出来的toolButton控件直按放一Panel控件上, 首先在component\ui\文件夹下添加控件文件,com.ui.t

IOS开发自定义CheckBox控件

IOS本身没有系统的CheckBox组件,但是实际开发中会经常用到,所以专门写了一个CheckBox控件,直接上代码 效果图: UICheckBoxButton.h文件如下: #import #import "Common.h" @interface UICheckBoxButton : UIControl { UILabel *label; UIImageView *icon; BOOL checked; id delegate; } @property (retain, nonat

Win10 UWP开发系列——开源控件库:UWPCommunityToolkit

原文:Win10 UWP开发系列--开源控件库:UWPCommunityToolkit 在开发应用的过程中,不可避免的会使用第三方类库.之前用过一个WinRTXamlToolkit.UWP,现在微软官方发布了一个新的开源控件库—— UWPCommunityToolkit 项目代码托管在Github上:https://github.com/Microsoft/UWPCommunityToolkit 包括以下几个类库: 都可以很方便的从Nuget上安装. NuGet Package Name des

Java开发,AWT控件的中文显示成乱码的解决方法

使用Java开发程序时,AWT控件上的中文在程序运行的时候显示成乱码,这是myeclipse的运行参数设置的问题. 解决方法: 第一:在你的具有main函数的类也即你应用运行的主类上点击右键,选择Run As中的Run Configurations,如下图: 第二,在Arguments标签下的VM arguments中添加下面这行参数代码,然后点击应用. -Dfile.encoding=GB18030 重新运行程序,就能够正常的显示中文了.Java开发,AWT控件的中文显示成乱码的解决方法

PhoneGap+HTML5+jqueryMobile 开发安卓-DATE控件

原文:PhoneGap+HTML5+jqueryMobile 开发安卓-DATE控件 源代码下载地址:http://www.zuidaima.com/share/1550463778802688.htm DATE控件在安卓底下是无法正常调用安卓的日期键盘,需要利用PhoneGap对安卓的原生控件进行调用,但是还是没达到最佳效果,找到一个临时解决方案,给大家分享下,如果大家有更好的解决方案大家可以分享下,此方法有个缺陷就是控件有值的情况下无法调用时间控件. /** * */ package com

完全使用托管C#开发的条形码控件ThermalLabel SDK for .NET

ThermalLabel SDK for .NET条形码控件是一个用VB.NET或C#开发的纯.NET的一个类库(DLL), 可用该组件来设计条码并在Zebra Thermal Printer(任何支持ZPL® or ZPL II® 语言/仿真程序的打印机)上打印这些条码.ThermalLabel SDK可以用于设计和打印简单到复杂的标签布局,它支持文本.条码.图形图象.表格和网格,并能插入如圆.椭圆.矩形以及线条等自选编辑图形. 具体功能: 完全使用托管C#开发. .NET Framework

RS开发日期提示控件默认为昨天之进阶篇

时隔<RS开发日期提示控件默认为昨天>这篇博文已经很久了,请原谅我隔了这么久才继续来写这篇笔记.也希望读到这篇笔记的朋友可以从这篇笔记中学习到一些关于RS日期控件和JS的一些应用知识,当然这也可以为给业务部门做月报的同学提供一个高易用性的日期处理办法. 1:确保报表有提示页面,提示页面提供了给日期提示控件设置默认值为昨天的功能 2:确保[日期维度].[日]的key值格式为2009-01-01 yyyy-mm-dd 3:确保[事实].[日期]的格式为2009-01-01 yyyy-mm-dd 4

iOS开发基础-UITableView控件简单介绍

 UITableView 继承自 UIScrollView ,用于实现表格数据展示,支持垂直滚动.  UITableView 需要一个数据源来显示数据,并向数据源查询一共有多少行数据以及每一行显示什么内容等.凡是遵守 UITableViewDataSource 协议的Objc对象,都可以是 UITableView 的数据源.  - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView  返回共有多少组数据.  - (NSI