上一篇文章详细讲解了我自己搭建react native 的开发环境,现在就给大家介绍下如何自定义自己的原声view 、实现自己的适配,这里主要是机顶盒遥控器的适配,react native 本身不支持遥控器焦点,我们自己实现支持焦点:

第一步、定义java的包管理

/**
 * Created by thinkpad on 2017/2/22.
 */
public class AnExampleReactPackage implements ReactPackage {
    @Override
    public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
        return null;
    }

@Override
    public List<Class<? extends JavaScriptModule>> createJSModules() {
        return null;
    }

@Override
    public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
        return Arrays.<ViewManager>asList(new ReactViewManager());
    }
}

第二步、定义java的view

public class CircleView extends TextView {

public CircleView(final Context context) {
        super(context);
        this.setText("asdfdsafd");
        this.setFocusable(true);
        this.setClickable(true);
        this.setOnClickListener(
                new OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(context,"hello",Toast.LENGTH_SHORT).show();
                    }
                });
        this.setOnFocusChangeListener(new OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                v.setBackgroundColor(Color.RED);
            }
        });
        this.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                v.setBackgroundColor(Color.WHITE);
            }
        });
    }
}

第三步、jsx映射java组件

import { PropTypes } from 'react';
import { requireNativeComponent, View } from 'react-native';

const MCircle = requireNativeComponent('MCircle', {
    propTypes: {
        ...View.propTypes // 包含默认的View的属性
},
});

export default MCircle;

到处这个组件,在别的页面直接引用就可以实现 自定义的这个view

react native 适配机顶盒、智能电视 遥控器解决焦点问题相关推荐

  1. 小米4 第三方re奇兔_【沙发管家】带你了解小米电视的几个使用技巧!|小米电视|沙发管家|机顶盒|智能电视|遥控器...

    小米电视,作为一款智能产品,小米电视自带的MIUI TV系统也一直在不断更新优化,根据大多数用户的意愿增添了很多更人性化.更方便的功能.不过可能很多新入手的用户还不是十分了解,今天小编就在这里给大家简 ...

  2. React Native中TouchableHighlight和TouchableOpacity无法获取焦点问题的解决

    一.背景 最近公司做了一个在线教育的TV端的视频播放app,类似于酷猫那种,采用React Native作为主框架,头部的导航菜单用TouchableHighlight标签制作,如下图: 二.发现问题 ...

  3. React Native 的 ListView 性能问题已解决

    长列表或者无限下拉列表是最常见的应用场景之一.RN 提供的 ListView 组件,在长列表这种数据量大的场景下,性能堪忧.而在最新的 0.43 版本中,提供了 FlatList 组件,或许就是你需要 ...

  4. React Native适配安卓IOS刘海屏、异形屏方案

    首先顶部引入这几个模块 import {Platform,SafeAreaView,NativeModules,StatusBar } from "react-native"; c ...

  5. react native配置环境watchman监控安装失败解决办法

    1,安装出错提示在安装watchman之前先运行 brew link pcre; 2, 还是提升错误不能连接: 3,试试运行,还说不行: 4,给路径授予权限,输入权限密码,这个是重点:sudo cho ...

  6. React Native入门 基础使用总结

    1.router: react-native-router-flux 基于react-navigation/native 二次封装 2.字体图标:react-native-vector-icons(推 ...

  7. React Native 从入门到原理

    React Native 是最近非常火的一个话题,介绍如何利用 React Native 进行开发的文章和书籍多如牛毛,但面向入门水平并介绍它工作原理的文章却寥寥无几. 本文分为两个部分:上半部分用通 ...

  8. react native在growth stack中的角色思考

    Growth Hacker在国内外的互联网界近几年都是比较火热的词,互联网巨头Facebook也许是践行Growth Hacker最好的公司.然而概念吵的火并不等于做的好,如何落地Growth Hac ...

  9. 智能电视应用适配指南

    在智能电视应用的设计过程中,针对不同的屏幕大小,不同的操控方式,不同的地区和不同的语种,甚至考虑不同的运营商,应该如何来设计?我们将在下面的内容中来探讨这些内容. 界面适配 这方面主要针对界面和字体. ...

最新文章

  1. 计算机组成原理:中央处理器
  2. Quantitative Researcher Summer Internship (for Overseas Schools)
  3. rola物联网框架_如何搭建一个物联网系统框架?
  4. 萌娃六一对程序员老爸说:再不陪我玩我就长大了
  5. HDU4609 FFT
  6. Quartz入门指南
  7. 【渝粤教育】国家开放大学2019年春季 2610药剂学 参考试题
  8. 5G Next Generation of Communication
  9. android锁屏时钟,桌面锁屏时钟
  10. 网站渗透思路(小白专看,大佬绕道)
  11. “茄汁Ketchup”一词从汉语到英语的文化旅游
  12. Mysql原子性,持久性实现原理
  13. C语言函数的简单书写规范和调用
  14. 万里挑一!热门机器学习开源资源最强盘点
  15. HTML5期末大作业:旅游酒店网站设计——旅游酒店服务预订(1页) web网页设计—— 出游
  16. 做为码农,应该被熟知和关注的技术站点,再也不用担心技术漏洞
  17. 二手苹果手机价格表最新
  18. maven系列(二)——maven应用分析
  19. 【强档推荐】网球王子高清桌面壁纸
  20. (2023最新)Java毕业设计参考题目-题目新颖(值得收藏)

热门文章

  1. 常见的数据链路层协议
  2. 无线打印机服务器说明书,无线打印机服务器
  3. 用html做祝福语朋友,有关于朋友之间的祝福语
  4. 矿泉水瓶装大米,便利店能增收300万
  5. 这届年轻人,七天假也“玩不起”
  6. 房贷60万,20年等额本息,每月要还多少?怎么算?
  7. 运行Java项目报错 org.springframework.beans.factory.UnsatisfiedDependencyException
  8. 万向区块链联盟链PlatONE的共识算法(IBFT)详解
  9. Go语言excelize包-05-单元格操作(设置单元格格式、超链接、富文本、获取单元格信息、合并单元格)
  10. 区块链应用 | 区块链技术浪潮:早早进,慢慢来