之前一直在讲 Flutter 在移动端的应用尝试,今天这节内容,我们将拓展到 TV 应用的开发上来。

我们知道目前的智能电视和机顶盒都是基于 Android 系统的,所以一般的 TV 应用开发都是采用 Android 原生进行开发,Google 对 Android TV 的开发也进行了一些规范和库的制定。当然也有的是采用的 B/S 架构进行设计的。这里我们将尝试 Flutter 开发 TV 应用。

这里说明一下,选择 Flutter 开发 TV 应用这个项目既是为了我们实践的练习,也是为了知识的拓展。最终这个应用写出来了,效果也还可以,体验流畅,自动适配,不过开发成本还是挺高的,按键监听、焦点处理和焦点框处理比较麻烦,由于 Google 官方并没有推出 Flutter TV 应用的 SDK,所以建议大家在正经的开发业务中暂时不要用 Flutter 编写 TV 应用,而是建议使用原生 leanback 等库进行开发或者 B/S 结构开发。

接下来,就分享下其中的技术点。本文将主要介绍:

  • Flutter TV 应用开发主要难点
  • Flutter TV 应用开发按键监听
  • Flutter TV 应用开发焦点处理
  • Flutter TV 应用开发焦点框效果处理

在进行讲解前,我们先看下 Flutter TV 开发实现的效果图:

<

第 4-2 课:开发一个 Flutter TV 应用相关推荐

  1. flutter 获取定位_从头开发一个Flutter插件(二)高德地图定位插件

    在上一篇文章从头开发一个Flutter插件(一)开发流程里具体介绍了flutter插件的具体开发流程,从创建项目到发布.接下来将会为Flutter天气项目开发一个基于高德定位sdk的flutter定位 ...

  2. Flutter TV 应用的开发尝试 | 开发者说·DTalk

    本文原作者: 谭东,原文发布于公众号谭东 jay: https://mp.weixin.qq.com/s/GI5g-zdeRwc8_E2zPN8pMA 我们之前一直在做 Flutter 在移动端的应用 ...

  3. 如何使用Flutter+SpringBoot+Mysql开发一个简易的抽奖APP(Android)教学

    如果你需要项目资源,欢迎来到我的个人博客:https://brath.top/2023/02/24/%E3%80%90Flutter&SpringBoot%E3%80%91%E5%A6%82% ...

  4. 第七课 技术小白如何开发一个DAPP区块链应用(以宠物商店为例)

    1. 文章摘要 [本文目标] 通过逐步的指导和截图举证,一步步带领一个技术小白完成一个宠物商店DAPP应用的开发和部署. [环境前置条件] 参考<第一课 如何在WINDOWS环境下搭建以太坊开发 ...

  5. flutter笔记4:使用material原生控件开发一个APP

    接着上一篇,我们做一个这样的APP: 开始之前,我发现了一个好玩的东西,每次我们在终端中输入命令: flutter run 终端里会有这个东西: 按照上图所示,我们的进入这个网页看看是个啥: 好高大上 ...

  6. 推荐一个Flutter项目(已开源)

    什么是Flutter? 2018年2月27日,在2018世界移动大会上,Google发布了Flutter的第一个Beta版本.Flutter是Google用以帮助开发者在iOS和Android两个平台 ...

  7. Flutter初体验(二)—— 创建第一个Flutter APP

    Flutter初体验(二)--- 创建第一个Flutter APP 在第一篇文章 Flutter初体验(一)---Mac 安装配置,学习了配置 Flutter 开发环境,并运行了Demo项目,本篇根据 ...

  8. 【Flutter】Flutter 混合开发 ( 混合开发中 Flutter 的 热重启 / 热加载 )

    文章目录 前言 一.混合开发中启用 Flutter 的 热重启 / 热加载 二.混合开发中 Flutter 的 热重启 / 热加载 命令测试 三.指定混合应用连接的设备 四.相关资源 前言 上一篇博客 ...

  9. 【Flutter】Flutter 混合开发 ( 简介 | Flutter 混合开发集成步骤 | 创建 Flutter Module )

    文章目录 一.Flutter 混合开发简介 二.Flutter 混合开发集成步骤 三.创建 Flutter Module 1.使用命令行创建 Flutter Module 项目 ( 仅做参考 ) 2. ...

最新文章

  1. OKHTTP3源码和设计模式(下篇)
  2. elementui下拉框选择图片_Element UI系列:Select下拉框实现默认选择
  3. python第二阶段第四天 装饰器和匿名函数
  4. welcome-file-list标签的控制作用以及在springmvc中此标签的的配置方式
  5. linux识别设备插槽,你如何确定linux计算机的CPU插槽类型?
  6. 周末巨献:100+诡异的数据集,20万Eclipse Bug、死囚遗言
  7. html5swf小游戏源码,亲测可用120个H5小游戏实例源码
  8. 搜索引擎的排序技术综述
  9. Scrum板与Kanban如何抉择?adpoqqrql板与按照zbocyo
  10. python复数什么意思_python 复数是什么意思
  11. 用Python做股市数据分析(二)
  12. IGV变异可视化设置要点
  13. Linux配置8021.q vlan实践篇
  14. ctf比赛的方向及内容
  15. 获取 个位数 十位数 百位数 千位数
  16. Kotlin - 改良构建者模式
  17. 【网络】什么是最大传输单元 ( MTU)|MTU 优化
  18. 2021年中国网页游戏市场实际销售收入为60.30亿元,同比减少20.74%[图]
  19. hiper – web_Web设计行业分析–专业人士与业余者[信息图]
  20. 修改惠普(HP)LaserJet 1020打印机驱动增加打印长度

热门文章

  1. 第一期挖矿大赛进展如何?——Nervos 双周报第十二期
  2. Flask-admin Model View字段介绍
  3. js 获取某一年第多少天是周几
  4. L1-6 福到了 (15 分)——2018
  5. HTML5图片与文本对齐方式
  6. 什么是soft matting方法_宜家的娃娃为什么这么”丑“
  7. Leetcode_584. 寻找用户推荐人
  8. matlab函数im2bw_im2bw(matlab中im2bw用法)
  9. android触屏压力方案,如何捕捉压力和面积超过触摸屏android
  10. 教你如何升级app适配iOS 7