zc

React Native API


api

提示日志

alert('提示')
Alert.alert('标题','信息',[{text:'取消',onPress:()=>{}},{text:'确定',onPress:()=>{}}]) //rn对话框
console.info('信息日志输出')
console.debug('调试日志输出')
console.warn('警告日志输出')
console.error('错误日志输出)
console.table([])// 打印表格

//分组日志
console.group()
console.groupEnd()

平台信息

Platform.OS //获取平台系统
Platform.Version //系统sdk版本
Platform.constants //手机信息
Platform.isPad //是pad (仅ios)
Platform.isTV //是tv
Platform.select({  //系统选择返回数据
    android:{
        marginTop:20
    },
    ios:{

    }
    default:{

    }
})

获取屏幕信息

Dimensions

//获取显示信息
const {width,height}=Dimenstions.get('window') 
useWindowDimensions()//不能写在方法里
//获取屏幕信息
const {width,height}=Dimenstions.get('screen') 
//获取缩放,文字缩放
const {scale,fontScale}=Dimenstions.get('window') 
//屏幕变化监听
const sub=Dimensions.addEventListener('change',(window.screen)=>{})
sun.remove()//取消监听

样式表

StyleSheet.create({
xxx
})

//数组创建

StyleSheet.compose(s1,s2)//返回数组

样式平铺

StyleSheet.flatten([s1,s2])//返回一个,平铺去重

样式铺满布局

StyleSheet.absoluteFill

头发丝尺寸

StyleSheet.hairlineWidth

Linking

Linking.xx

//打开链接
openURL('https://www.badiu.com')
canOpenURL()
网页链接,地图定位,拨打电话,发送短信,发送邮件,应用跳转
//打开地图定位
openURL(geo:38,12')
//打电话
openURL('tel:10086')
//发短信
openURL('smsto:10086')
//发短信
openURL('mailto:xx@qq.com')
//跳转应用
openURL('xxx://xx?name=123')
//跳转应用设置页面
Linking.openSettings()
//安卓隐式跳转
Linking.sendIntent('123',[{}])
//获取初始化url
Linking.getInitialURL()

像素比例工具

RixelRatio

//获取像素比
RixelRatio.get()
//获取默认字体比例(安卓)
RixelRatio.getFontScale()
//像素比*值
RixelRatio.getPixelSizeForLayoutSize(200)
//获取就近值
PixelRatio.roundToNearestPixel()

返回键适配 安卓

又注册一定要有注销
// 添加监听:BackHandler.addEventListener('hardwareBackPress',()=>{}) //返回true 拦截默认事件
//移除监听:BackHandler.removeEventListener('hardwareBackPress',()=>{})
//退出应用:BackHandler.exitApp()
社区hook: @react-native-community/hooks

动态权限 安卓

PermissionsAndroid

检查权限
PermissionsAndroid.check('').then(()=>{})
申请权限
PermissionsAndroid.request('').then(()=>{})
一组申请
PermissionsAndroid.requestMultiple(['','']).then(()=>{})

震动

原生声明权限 :android.permission.VIBRATE

发起震动:Vibration.vibrate(1000) //默认400 只有安卓指定
取消震动:Vibration.cancel()
安卓时间模式:Vibration.vibrate([100,500,200,500]) // 下 格式:停,震,停·····
ios时间模式:Vibration.vibrate([100,500,200,500],true) // 指定停止 格式:停,震400,停····· 第二个参数循环

安卓提示

ToastAndroid

ToastAndroid.show('xxx',ToastAndroid.SHORT)//短提示
ToastAndroid.show('xxx',ToastAndroid.LONG)//长提示
ToastAndroid.showWithGravity('xxx',ToastAndorid.TOP)//提示位置  现在用得少不可用

键盘操作

Keyboard

注册键盘监听:Keyboard.addListener('keyboardDidShow',()={})//键盘显示
注册键盘监听:Keyboard.addListener('keyboardDidHide',()={})//键盘隐藏
注销键盘施加:keyboard.removeEventListener()
隐藏键盘:Keyboard.dismiss()

原生桥接

NativeModules

码字很辛苦,转载请注明来自zcc_blog《React Native API》

评论