搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
繁依Fanyi0
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
c#8种.NET内存泄露方式_c#内存泄漏
2
css-形状边缘模糊处理_css 边缘虚化
3
VS+Qt — Vistual Studio 2022+Qt6安装教程以及解决Qt Vistual Studio Tools下载慢和VS无法打开.ui进行设计的问题_legacy qt visual studio tools
4
【UGUI】学会Unity中UGUI中UI元素自适应问题_unity 自适应布局
5
【Unity-Editor】鼠标停留按钮上出现说明文本_unity鼠标放到按钮上弹出文字
6
【日志】MDC 一个Java 项目中用于日志跟踪的工具
7
毛发渲染 ———— Real-Time Fur over Arbitrary Surfaces部分翻译_shell fur rendering
8
Vue开发学习笔记:el-table绑定自定义select组件_vue/no-setup-props-destructure
9
【已解决】Vue3+Element-plus中input输入框中图标不显示_vue3 输入框不显示图标
10
(阿里技术专家分享)2020年最全阿里面试题合集100+道+答案_阿里破冰20题
当前位置:
article
> 正文
React Native调用Android原生组件_react native 显示android原生组件
作者:繁依Fanyi0 | 2024-02-23 06:14:25
赞
踩
react native 显示android原生组件
React Native调用Android原生组件,官方文档用ReactImageView,后来参考这个哥们写的非常不错.
https://github.com/1008611/RN-Resource-ipk
。自己比葫芦画瓢,写了个调用Button的例子。以及响应OnClickListener事件。
创建 MyButtonManager.java类
public class
MyButtonManager
extends
SimpleViewManager<Button> {
@Override
public
String
getName
() {
return
"MyButton"
;
}
@Override
protected
Button
createViewInstance
(
final
ThemedReactContext reactContext) {
final
Button button =
new
Button(reactContext)
;
button.setOnClickListener(
new
View.OnClickListener() {
@Override
public void
onClick
(View v) {
WritableMap nativeEvent = Arguments.
createMap
()
;
nativeEvent.putInt(
"clickMe"
,
-
1
)
;
// nativeEvent.putString("clickMe", "click");
reactContext
.getJSModule(RCTEventEmitter.
class
).receiveEvent(
button
.getId()
,
"topChange"
,
nativeEvent
)
;
}
})
;
return
button
;
}
@ReactProp
(
name
=
"text"
)
public void
setText
(Button view
,
String text){
view.setText(text)
;
}
@ReactProp
(
name
=
"textSize"
)
public void
setTextSize
(Button view
,float
fontSize){
view.setTextSize(fontSize)
;
}
@ReactProp
(
name
=
"textColor"
,
defaultInt
= Color.
RED
)
public void
setTextColor
(Button view
,int
textColor){
view.setTextColor(textColor)
;
}
创建 MyReactPackage.java类
public class
MyReactPackage
implements
ReactPackage {
@Override
public
List<NativeModule>
createNativeModules
(ReactApplicationContext reactContext) {
return
Collections.
emptyList
()
;
}
@Override
public
List<Class<?
extends
JavaScriptModule>>
createJSModules
() {
return
Collections.
emptyList
()
;
}
@Override
public
List<ViewManager>
createViewManagers
(ReactApplicationContext reactContext) {
return
Arrays.<ViewManager>
asList
(
new
MyButtonManager()
)
;
}
}
在MainApplication中添加 new MyReactPackage()
创建MyButton.js
import React,{Component, PropTypes } from 'react';
import { requireNativeComponent, View } from 'react-native';
var iface = {
name:'MyButton',
propTypes:{
text:PropTypes.string,
textSize:PropTypes.number,
textColor:PropTypes.number,
testID:PropTypes.string,
accessibilityComponentType:PropTypes.string,
accessibilityLabel:PropTypes.string,
accessibilityLiveRegion:PropTypes.string,
renderToHardwareTextureAndroid:PropTypes.bool,
importantForAccessibility:PropTypes.string,
onLayout:PropTypes.bool,
}
};
var MyButtonView=requireNativeComponent('MyButton',iface);
class MyBtnView extends Component{
constructor(){
super();
this._onChange=this._onChange.bind(this);
}
_onChange(event:Event){
if(!this.props.onChangeMessage){
return;
}
if(event.nativeEvent.clickMe===-1){
this.props.onChangeMessage();
return;
}
}
render(){
return <MyButtonView
{...this.props}
onChange={this._onChange} />
}
}
MyBtnView.propTypes={
onChangeMessage:React.PropTypes.func,
}
module.exports =MyBtnView;
5.在index.android.js中 添加
var MyButton = require('./MyButton');
....
_onButtonPress(){
alert("测试点击事件");
this.setState({
text:"干的漂亮!!!!!!!!!!!"
});
}
<MyButton
style={styles.myButton}
text={'哈哈'}
textSize={12}
onChangeMessage={()=>this._onButtonPress()}
/>
样式:
var styles = StyleSheet.create({
...
myButton: {
width: 200,
height: 100,
},
});
over,测试一下
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/134268
推荐阅读
article
Android
|
Compose
初上手_
android
compos
statusbar...
简介Jetpack
Compose
是用于构建原生 Andorid 界面的新工具包,
Compose
使用了更少的代码,强...
赞
踩
article
android
扇形
菜单动画,
Android
编程:
扇形
展开的悬浮菜单
按钮
CircularFloati...
Android
编程:
扇形
展开的悬浮菜单
按钮
CircularFloatingActionMenu
实例环境:主机:WIN10...
赞
踩
article
Android
自定义
卫星
扇形
菜单
栏 可自行修改参数_安卓
自定义
扇形
菜单
...
最近手头有一个需求,要实现一个悬浮的按钮位于界面的右下角,但是距边框还有点距离,点击这个悬浮按钮可以打开
扇形
菜单
,并且悬...
赞
踩
article
Android
App
如何防止
抓包
_
android
防
抓包
...
在软件开发中,常用的
抓包
方式有 Charles 、 Fiddler和Burp,它们通过在手机网络中添加代理的方式,然后安...
赞
踩
article
2024
,
Android
15
预览版
来了...
剩下的像 Privacy Sandbox 这种涉及广告隐私沙箱和 Health Connect 的相信国内暂时都不是很关...
赞
踩
article
Android
P 中的
网络安全
配置指南
network
-
security
-
config
_clear...
摘要:随着数据隐私变得越来越重要,谷歌一直在试图增强移动操作系统的功能,用以保护
Android
移动设备和端点的所有数据。...
赞
踩
article
React
& Ant-Design 应用 ——
Form
.
item
的
name
和
rules
;为什...
React
& Ant-Design组件之
Form
.
item
的
name
和
rules
Form
.
item
的使用
Form
.i...
赞
踩
article
react
+
antd
简单表单
验证
_
antd
react
函数
校验...
//
验证
函数
validate(){ let that =this let data = { msg: '', el:...
赞
踩
article
react
遍历生产
form
表单(
FormItem
)
_
react
循环
form
.
item
...
import React, { PureComponent } from '
react
';import { Form, ...
赞
踩
article
reac
t
18函数组件+
an
t
d
使用指南-使用代码集合以及报错记录汇总(不断更新中)_
you
mig...
vi
t
e热更新失败解决方案,手把手教你
an
t
d
4.x和5.x如何自定义主题色,各种报错处理方案集合_
you
migh
t
...
赞
踩
article
Vue
antd
form
Modal 表
单循环
渲染 &&
React
antd
form
表
单循环
渲...
vue
antd
form
Modal 表
单循环
渲染 &&
react
antd
form
表
单循环
渲染vue
antd
...
赞
踩
article
React
+Ant :循环表单中
的
选择
框
,
实现
选择
一个
选项
后
,
其余
的
选择
框
禁用该
选项
_
react
一个
...
循环表单中
的
选择
框
,
实现
选择
一个
选项
后
,
其余
的
选择
框
禁用该
选项
_
react
一个
按钮
勾选
其他就不会被
勾选
react
一个
按...
赞
踩
article
react
antd
Form
.
List
Form
.Iterm
Checkbox
.Group的案例...
邮件订阅交易报表流水import React from "
react
";import { inject, observe...
赞
踩
article
react
一个
Form
.
Item
获取和写入两个值_
react
form
.
item
表单取值...
效果:代码: <
Form
.
Item
label="分辨率" style={{ marginBottom: 0 }} > ...
赞
踩
article
react
+
Antd
表单
用
Form
.
Item
互相
校验
_
antd
+ vue循环
form
-
item
的校...
react
+
Antd
表单
用
Form
.
Item
互相
校验
表单
中的两项需要互相
校验
,在这里记录下解决办法参考了这个博主的文章:...
赞
踩
article
react
reducers
两种
返回
形式
_
react
函
数
,
怎么
返回
两个
数
...
关于区别后期更新吧
_
react
函
数
,
怎么
返回
两个
数
react
函
数
,
怎么
返回
两个
数
...
赞
踩
article
react
antd
中
Modal
包裹
Form
组件用_
antd
pro
react
modalform
...
运用场景:需要弹出对话框,对话框包含form表单,如何在对话框中,获取form表单中的数据库呢。网络案例 对话框: //...
赞
踩
article
React
(16)包裹
标签
React
.
Fragment
_
react
有block或
template
...
24、包裹
标签
React
.
Fragment
在 Vue 里,我们会用 <
template
></temp...
赞
踩
article
react
antd
自定义
Modal
的 确认和取消
按钮
_
react
的
antui
model
去掉按...
使用
Modal
中的footer属性,如下:<
Modal
title="更改成员"visible={visible}conf...
赞
踩
article
react
-
antd
中
modal
组件内
form
数据回收
_
antd
form
modal
preser...
modal
关闭后
form
表单内数据未进行回收。导致组件再次打开后仍是关闭前的内容。
_
antd
form
modal
pr...
赞
踩
相关标签
android
kotlin
开发语言
android 扇形菜单动画
系统安全
Android
网络安全配置
react
antd
javascript
前端
react.js
vue.js
antd-form
前端框架
react antd
Form.List
Form.Item
CheckBox.Group
React.createRef