x
推荐使用小狼狗测速 APP

  • 趋势分析

    掌控网站性能变化曲线,为网站速度优化提供有力的参考 [详细介绍]

  • 错误分析

    24小时监控数据的报错分析,网站在什么时间访问出错... [详细介绍]

  • 区域分析

    通过区域分析,迅速找出网站在哪些地方速度慢 [详细介绍]

  • ISP分析

    通过ISP分析,迅速找出网站在哪些运营商速度慢 [详细介绍]

  • 监测点分析

    提供监测点数据,以便反向查找问题 [详细介绍]

测速排名 今日 本周 本月

排名 域名 时间
1 mqmq66.com 0.493s
2 9080xoxo.com 0.343s
3 www.275395.com 0.330s
4 www.lolthe.com 0.875s
5 www.mtdcr.com 0.120s
6 www.177845.com 0.768s
7 www.cp498.com 0.158s
8 www.99070.com 0.307s
9 www.43nk.com 0.540s
10 www.470078.com 0.547s

最新测速

域名 类型 时间
www.hg2623.com get 0.975s
www.325730.com get 1.337s
www.237786.com get 0.593s
www.568915.com get 0.418s
www.231306.com get 0.503s
53bu.com get 0.74s
www.67830.com get 0.558s
www.ag8889.com get 0.177s
www.bbb991.com get 1.991s
www.723912.com get 0.982s

 

太阳城www.77429.com_申慱sunbet官网www.591suncity.com

  面对外界对蔡英文博士论文的质疑,23日下午,蔡英文办公室召开记者会表示,蔡英文已授权台湾图书馆开放阅览她的论文。

34.8元/3个月,点此购买(季卡)。

var default_decoration = BoxDecoration( border: Border.all(width: 3, color: Colors.deepOrange), borderRadius: BorderRadius.all( Radius.circular(5), )); ... ... child: Container( margin: EdgeInsets.all(8), decoration: default_decoration, child: widget.child, )); 最后给大家一个完整的最新的技术方案的例子代码: 先绘制欢迎页,效果图如下: 代码如下: // 启动欢迎页 import dart:async; import package:flutter/material.dart; import package:flutter/services.dart; import ui/tv_page.dart; void main => runApp(MyApp); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setEnabledSystemUIOverlays([]); // 强制横屏 SystemChrome.setPreferredOrientations([ DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight ]); return MaterialApp( title: Flutter TV, debugShowCheckedModeBanner: false, theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage, ); } } class MyHomePage extends StatefulWidget { @override _MyHomePageState createState => _MyHomePageState; } class _MyHomePageState extends State<MyHomePage> { Timer timer; @override void initState { startTimeout; super.initState; } @override Widget build(BuildContext context) { return Scaffold( primary: true, backgroundColor: Colors.black54, body: Center( child: Text( 芒果TV, style: TextStyle( fontSize: 50, color: Colors.deepOrange, fontWeight: FontWeight.normal), ), ), ); } _toPage { Navigator.pushAndRemoveUntil( context, MaterialPageRoute(builder: (context) => TVPage), (route) => route == null, ); } //倒计时处理 static const timeout = const Duration(seconds: 3); startTimeout { timer = Timer(timeout, handleTimeout); return timer; } void handleTimeout { _toPage; } @override void dispose { if (timer != null) { timer.cancel; timer = null; } super.dispose; } } 应用首页,效果图如下: 代码如下: // 应用首页 import dart:async; import package:flutter/material.dart; import package:flutter/services.dart; import package:flutter_tv/utils/time_utils.dart; import package:flutter_tv/widgets/tv_widget.dart; import home_page.dart; import list_page.dart; class TVPage extends StatefulWidget { @override State<StatefulWidget> createState { SystemChrome.setEnabledSystemUIOverlays([]); // 强制横屏 SystemChrome.setPreferredOrientations( [DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight]); return TVPageState; } } class TVPageState extends State<TVPage> with SingleTickerProviderStateMixin { TabController _tabController; Timer timer; var timeString = TimeUtils.getTime; bool init = false; FocusNode focusNodeB0 = FocusNode; FocusNode focusNodeB1 = FocusNode; @override void initState { super.initState; //initialIndex为初始选中第几个,length为数量 _tabController = TabController(initialIndex: 0, length: 8, vsync: this); // 监听 _tabController.addListener( { switch (_tabController.index) { case 0: break; case 1: break; } }); focusNodeB0.addListener( { if (focusNodeB0.hasFocus) { setState( { _tabController.animateTo(0); }); } }); focusNodeB1.addListener( { if (focusNodeB1.hasFocus) { setState( { _tabController.animateTo(1); }); } }); } @override Widget build(BuildContext context) { return Container( color: Colors.black87, padding: EdgeInsets.all(30), child: Scaffold( appBar: AppBar( backgroundColor: Colors.black87, leading: Icon( Icons.live_tv, color: Colors.deepOrange, size: 50, ), title: Text( 芒果TV, style: TextStyle( fontSize: 30, color: Colors.white, fontStyle: FontStyle.italic), ), primary: true, actions: <Widget>[ FlatButton( child: Text( $timeString, style: TextStyle(color: Colors.white), ), ), ], // 设置TabBar bottom: TabBar( controller: _tabController, indicatorColor: Colors.deepOrange, labelColor: Colors.deepOrange, unselectedLabelColor: Colors.white, tabs: <Widget>[ Tab( child: TVWidget( hasDecoration: false, focusChange: (hasFocus) { if (hasFocus) { setState( { _tabController.animateTo(0); }); } }, child: Text( 首页, style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), requestFocus: true, ), ), Tab( child: TVWidget( hasDecoration: false, focusChange: (hasFocus) { if (hasFocus) { setState( { _tabController.animateTo(1); }); } }, child: Text( 精选, style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), )), Tab( child: TVWidget( hasDecoration: false, focusChange: (hasFocus) { if (hasFocus) { setState( { _tabController.animateTo(2); }); } }, onclick: { print(点击); }, child: Text( 国产, style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), )), Tab( child: TVWidget( hasDecoration: false, focusChange: (hasFocus) { if (hasFocus) { setState( { _tabController.animateTo(3); }); } }, child: Text( 欧美, style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), )), Tab( child: TVWidget( hasDecoration: false, focusChange: (hasFocus) { if (hasFocus) { setState( { _tabController.animateTo(4); }); } }, child: Text( 日漫, style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), ), ), Tab( child: TVWidget( hasDecoration: false, focusChange: (hasFocus) { if (hasFocus) { setState( { _tabController.animateTo(5); }); } }, child: Text( 亲子, style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), ), ), Tab( child: TVWidget( hasDecoration: false, focusChange: (hasFocus) { if (hasFocus) { setState( { _tabController.animateTo(6); }); } }, child: Text( 少综, style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), ), ), Tab( child: TVWidget( focusChange: (hasFocus) { if (hasFocus) { setState( { _tabController.animateTo(7); }); } }, hasDecoration: false, child: Text( 分类, style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), ), ), ], ), ), body: TabBarView( controller: _tabController, children: <Widget>[ HomePage, ListPage, HomePage, ListPage, HomePage, ListPage, HomePage, ListPage, ], ), ), ); } startTimeout { timer = Timer.periodic(Duration(minutes: 1), (t) { setState( { timeString = TimeUtils.getTime; }); }); } @override void dispose { if (timer != null) { timer.cancel; timer == null; } super.dispose; } } // TAB页面中的其中一个页面,其他类似 import package:flutter/material.dart; import package:flutter/widgets.dart; import package:flutter_tv/widgets/tv_widget.dart; class HomePage extends StatefulWidget { const HomePage({ Key key, @required this.index, }) : super(key: key); final int index; @override State<StatefulWidget> createState { return HomePageState; } } class HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin { @override void initState { super.initState; } @override Widget build(BuildContext context) { return Container( color: Colors.black87, child: Row( children: <Widget>[ Flexible( child: Column( children: <Widget>[ _buildItem(0), _buildItem(1), _buildItem(2), ], ), flex: 1, ), Flexible( child: Column( children: <Widget>[ _buildImageItem(3, 2), Expanded( flex: 1, child: Row( children: <Widget>[ _buildImageItem(4, 1), _buildImageItem(5, 1), ], )), ], ), flex: 4, ), Flexible( child: Column( children: <Widget>[ _buildImageItem(6, 2), _buildImageItem(7, 1), ], ), flex: 2, ), Flexible( child: Column( children: <Widget>[ _buildImageItem(8, 2), _buildImageItem(9, 1), ], ), flex: 2, ), ], ), ); } _buildItem(int index) { return Expanded( child: TVWidget( focusChange: (hasfocus) {}, child: Container( width: MediaQuery.of(context).size.width, child: GestureDetector( child: Card( elevation: 5, margin: EdgeInsets.all(0), color: _colors.elementAt(index), child: Container( child: Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ _icons.elementAt(index), _title.elementAt(index), ], ), ), ), onTap: { _click(index); }, ), )), flex: 1, ); } _buildImageItem(int index, int flex) { return Expanded( child: TVWidget( child: Container( width: MediaQuery.of(context).size.width, child: GestureDetector( child: Card( elevation: 5, margin: EdgeInsets.all(0), color: _colors.elementAt(index), child: Container( child: Stack( alignment: Alignment.bottomLeft, children: <Widget>[ ClipRRect( child: Image.asset( _images.elementAt(index), fit: BoxFit.fill, width: MediaQuery.of(context).size.width, height: MediaQuery.of(context).size.height, ), borderRadius: BorderRadius.all( Radius.circular(5), ), ), Container( width: MediaQuery.of(context).size.width, child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ _title.elementAt(index), index == 3 ? _des.elementAt(index) : SizedBox( height: 0, ), ], ), color: _colors.elementAt(index).withAlpha(240), padding: EdgeInsets.all(5), ), ], ), ), ), onTap: { _click(index); }, ), ), focusChange: (hasfocus) {}, ), flex: flex, ); } void _click(int index) { switch (index) { case 0: break; case 4: // Navigator.push(context, MaterialPageRoute(builder: (context) { // return AboutPage; // })); break; } } List<Icon> _icons = [ Icon( Icons.search, size: 38, color: Colors.white, ), Icon( Icons.history, size: 38, color: Colors.white, ), Icon( Icons.event, size: 38, color: Colors.white, ), Icon( Icons.share, size: 38, color: Colors.deepPurpleAccent, ), Icon( Icons.error_outline, size: 38, color: Colors.orange, ), Icon( Icons.settings, size: 38, color: Colors.red, ) ]; List<String> _images = [ assets/htpy.jpg, assets/htpy.jpg, assets/htpy.jpg, assets/htpy.jpg, assets/agzz.jpg, assets/amypj.jpg, assets/hmjz.jpg, assets/dxflqm.jpg, assets/lifeandpi.jpg, assets/nanasqc.jpg, ]; List<Color> _colors = [ Colors.red, Colors.orange, Colors.green, Colors.red, Colors.orange, Colors.green, Colors.orange, Colors.orange, Colors.orange, Colors.orange, ]; List<Text> _title = [ Text( 搜索, style: TextStyle(color: Colors.white, fontSize: 18), ), Text( 历史, style: TextStyle(color: Colors.white, fontSize: 18), ), Text( 专题, style: TextStyle(color: Colors.white, fontSize: 18), ), Text( 环太平洋, style: TextStyle(color: Colors.white, fontSize: 18), ), Text( 阿甘正传, style: TextStyle(color: Colors.white, fontSize: 18), ), Text( 傲慢与偏见, style: TextStyle(color: Colors.white, fontSize: 18), ), Text( 黑猫警长, style: TextStyle(color: Colors.white, fontSize: 18), ), Text( 当幸福来敲门, style: TextStyle(color: Colors.white, fontSize: 18), ), Text( Life Or PI, style: TextStyle(color: Colors.white, fontSize: 18), ), Text( 哪啊哪啊神去村, style: TextStyle(color: Colors.white, fontSize: 18), ), ]; List<Text> _des = [ Text( 非常好看的电影, style: TextStyle(color: Colors.white, fontSize: 12), ), Text( 设置密码锁, style: TextStyle(color: Colors.white, fontSize: 12), ), Text( 吐槽反馈你的想法, style: TextStyle(color: Color.fromRGBO(162, 162, 162, 1), fontSize: 16), ), Text( 非常好看的电影, style: TextStyle(color: Colors.white, fontSize: 12), ), Text( 版本信息, style: TextStyle(color: Color.fromRGBO(162, 162, 162, 1), fontSize: 16), ), Text( 系统相关设置, style: TextStyle(color: Color.fromRGBO(162, 162, 162, 1), fontSize: 16), ), Text( 系统相关设置, style: TextStyle(color: Color.fromRGBO(162, 162, 162, 1), fontSize: 16), ), ]; @override // TODO: implement wantKeepAlive bool get wantKeepAlive => true; } 封装的核心类: // 封装的核心焦点处理类 import package:flutter/material.dart; import package:flutter/services.dart; import package:flutter/widgets.dart; class TVWidget extends StatefulWidget { TVWidget( {Key key, @required this.child, @required this.focusChange, @required this.onclick, @required this.decoration, @required this.hasDecoration = true, @required this.requestFocus = false}) : super(key: key); Widget child; onFocusChange focusChange; onClick onclick; bool requestFocus; BoxDecoration decoration; bool hasDecoration; @override State<StatefulWidget> createState { return TVWidgetState; } } typedef void onFocusChange(bool hasFocus); typedef void onClick; class TVWidgetState extends State<TVWidget> { FocusNode _focusNode; bool init = false; var default_decoration = BoxDecoration( border: Border.all(width: 3, color: Colors.deepOrange), borderRadius: BorderRadius.all( Radius.circular(5), )); var decoration = null; @override void initState { super.initState; _focusNode = FocusNode; _focusNode.addListener( { if (widget.focusChange != null) { widget.focusChange(_focusNode.hasFocus); } if (_focusNode.hasFocus) { setState( { if (widget.hasDecoration) { decoration = widget.decoration == null ? default_decoration : widget.decoration; } }); } else { setState( { decoration = null; }); } }); } @override Widget build(BuildContext context) { if (widget.requestFocus && !init) { FocusScope.of(context).requestFocus(_focusNode); init = true; } return RawKeyboardListener( focusNode: _focusNode, onKey: (event) { if (event is RawKeyDownEvent && event.data is RawKeyEventDataAndroid) { RawKeyDownEvent rawKeyDownEvent = event; RawKeyEventDataAndroid rawKeyEventDataAndroid = rawKeyDownEvent.data; print(keyCode: ${rawKeyEventDataAndroid.keyCode}); switch (rawKeyEventDataAndroid.keyCode) { case 19: //KEY_UP // DefaultFocusTraversal.of(context).inDirection( // FocusScope.of(context).focusedChild, TraversalDirection.up); FocusScope.of(context) .focusInDirection(TraversalDirection.up); break; case 20: //KEY_DOWN FocusScope.of(context) .focusInDirection(TraversalDirection.down); break; case 21: //KEY_LEFT // FocusScope.of(context).requestFocus(focusNodeB0); FocusScope.of(context) .focusInDirection(TraversalDirection.left); // 手动指定下一个焦点 // FocusScope.of(context).requestFocus(focusNode); break; case 22: //KEY_RIGHT // FocusScope.of(context).requestFocus(focusNodeB1); FocusScope.of(context) .focusInDirection(TraversalDirection.right); // DefaultFocusTraversal.of(context) // .inDirection(_focusNode, TraversalDirection.right); // if(_focusNode.nextFocus){ // FocusScope.of(context) // .focusInDirection(TraversalDirection.right); // } break; case 23: //KEY_CENTER widget.onclick; break; case 66: //KEY_ENTER widget.onclick; break; default: break; } } }, child: Container( margin: EdgeInsets.all(8), decoration: decoration, child: widget.child, )); } } 好了,关于Flutter TV开发就讲解这么多。

也有记者问:如果国家让你装后门,你不装,中国政府把你抓起来怎么办?我说,中国的监狱很文明,对高级人员有独立房间,有浴室、厕所,还可以看书、看电视,那么舒服,而且还不要伙食费,挺好的。

从消费者数量和规模来看,中国是世界人口第一大国,中国有着新崛起的最大规模中等消费群体。

(2)裂变模式比较单一,单纯的奖金池瓜分,虽有利于提高用户量却难以发展为主流用户 AARRR增长模型,应从留存开始,解决用户痛点,分析用户心理,用户之所以想省钱,一部分是因为占利心理,另外一部分是由于没钱,帮助用户赚取收益,提供职业化专业化的佣金分成购物模式(淘宝联盟),引导用户开通后在平台购物,完成供应链与生态圈的闭环系统构建。

那么,自从去年苹果推出A12以来,他们有没有加大追赶力度?与苹果三大竞争对手的最新芯片相比,新的六核A13仿生芯片到底是如何堆叠的?让我们看看相关数字: 三星最新处理器Exynos 9825有八个内核,分布在三个集群中:两个高性能定制Mongoose内核运行在2.73 GHz频率之下,另外两个Cortex A75内核在2.4 GHz下运行,四个效率聚焦内核Cortex A55运行在1.9 GHz频率下。

其实一开始大家都说云计算像水和电,而通用IAAS服务才是最像水和电的部分。

再往年轻一代,其实有更强烈的西方观念意识,这个意识会变成世界共识,这就是人类共同的价值观。

但是对于AR来说,现实世界是变化万千的,不同的文化、不同的种族、不同的地理位置,需要融合更多的技术在里面。

中国有70万~100万个社区,如果一个社区一个月通过团购消费2万元,一年就是2400亿。

全球阻击电子烟,是在生态文明时代再次树立一面旗子,科技向善,产品向善。

小时候牵妈妈的手,只因这双手是遮风挡雨的坚定倚靠;长大后牵妈妈的手,则是为了表达寸草春晖的无尽感恩。时间在爸妈身上过得很慢,他们并不在意岁月易逝、容颜易老,对子女的满心牵挂仿若他们依然是不懂事的孩子。时间过得又很快,总能在不经意间发现爸妈鬓角白了,背变驼了,手上的老茧又厚了。年虽然过完了,但我们不应该忘记家庭给予我们的精神涵养:“妈妈的手”所牵动的,是远方游子对温暖家乡的深情凝望;“妈妈的手”所托举的,是亿万中国人骨肉团圆的精神原乡。

财报显示, 2019年第二季度总营收达到4.39亿元,同比增长58.3%。

上述MCN机构高层对《后厂村7号》透露,现在有越来越多明星艺人开始主动找来寻求合作,希望通过与头部达人合作,在抖音快手的流量中分一杯羹。

其抛售的股份主要由复星国际控股有限公司以及复星集团旗下Startree(BVI)Limited买入,共买入价值7.78亿港元股份。

分享意识。每一个孩子都应该是享受着满满的幸福感、怀着深深的留恋告别自己的小学生活,又都是怀揣着自己的梦想和无限的期待开启自己的初中生活,教师要学会分享孩子的喜悦,分享孩子的幸福,落实分享育人。让孩子喜欢上学,喜欢老师,喜欢学校。

在一个新兴行业,尤其是科技领域,客户对于产品的稳定需求是这个产业迅速发展的重要驱动力。