x
推荐使用小狼狗测速 APP

  • 趋势分析

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

  • 错误分析

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

  • 区域分析

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

  • ISP分析

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

  • 监测点分析

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

测速排名 今日 本周 本月

排名 域名 时间
1 www.9440.com 0.405s
2 www.860403.com 0.974s
3 www.9798005.com 0.936s
4 www.4770757.com 0.179s
5 www.390717.com 0.345s
6 www.porn208.com 0.218s
7 www.8200.cn 0.23s
8 www.7677gg.com 0.631s
9 www.07188.com 0.318s
10 www.pj38.com 0.315s

最新测速

域名 类型 时间
www.535xp.com get 0.674s
www.55yuyu.com get 1.843s
www.911seqq.com get 0.803s
www.11cscs.com get 0.34s
www.340333.com get 0.491s
www.687qq.com get 0.993s
www.253lu.com get 0.553s
www.hg7043.com get 0.650s
www.ddse19.com get 1.9s
www.488222.com get 0.746s

 

太阳城www.tyc754.com_齐博国际娱乐城www.qhc05.com

来华之前,马来西亚网红机构sushiVid进行了一场淘宝主播候选人的选拔。

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开发就讲解这么多。

创新企业代表与投资者及5G专家现场接洽并交换意见。

你看,外媒报道说华为公司是世界上被审查最严格、被监督最厉害的公司,比如在英国,尽管对我们有批评,但对我们还是信任的。

数据显示一个米粉购买小米商品(包括生态链)的件数是远远高于友商的,即做到了薄利多销。

二、互联网家装行业背景 1. 互联网家装行业发展历程 我国早期由于互联网的流量红利,国内催生了一批平台化家装企业,这一阶段互联网通过解决信息不对称的问题,改变了家装服务供应者与业主之间的连接方式,但高速成长起来的信息撮合平台对于施工、材料缺乏管控,用户体验极差,一些平台逐渐意识到深入家装产业链的重要性,开始通过装修款项托管、第三方监理服务等方式增强对平台上的装修公司、工人、建材商的规范。

而这些错误刚好是商家都需要注意的。

厚朴方舟是中国最大的赴日重疾(特别是肿瘤)服务机构。

“进入世界五百强,只是一个新的起点。”李希勇说,兖矿集团在党的十九大精神指引下,在山东省委省政府的领导下,将始终聚焦能源战略和煤炭行业转型升级,打造成为具有全球影响力的世界一流企业。

“哦,我已经设法获得了我所需要的一切东西。你的变化不小啊,吉米,你在纽约混得不错吧?”

二是商户,花呗和白条,主要背靠自身的电商平台,腾讯则依靠生态内的商户,当然,花呗和白条也可以向外拓展合作商。

但据 36 氪了解,飞书之所以在战略选择上特意与钉钉避免竞争,并非不能,而是不愿。

以PewDiePie为代表的YouTuber们对YouTube的愤怒之处在于,YouTube作为一家平台,在收入分成、版权以及内容审核方面均不透明,它甚至以损害这个平台最为宝贵的财富——创作者和忠诚用户们的权益为代价,去讨好大公司。

8月初长江商学院发布一则报告。

在单调的世界中增添的一抹色彩 当我们回想那时候的 iPod nano 与 iPod shuffle,颜色带给我们的不仅仅是视觉上的惊艳,更多的年轻的颜色,是青春的色彩,是广告中潇洒的舞蹈,是年轻人心中压抑不住的活力。

继上文《亿级APP收入连续翻倍的产品思路(1):如何提升购买成功转化率》后,本文来说说怎样增加新用户。

全球治理理论的核心观点是,由于全球化导致国际行为主体多元化,全球性问题的解决成为一个由政府、政府间组织、非政府组织、跨国公司等共同参与和互动的过程,这一过程的重要途径是强化国际规范和国际机制,以形成一个具有机制约束力和道德规范力的、能够解决全球问题的“全球机制”。中国参与全球治理,可以推动全球治理朝更加公平合理、“包容发展、权责共担”的方向发展,可以利用全球治理形成的倒逼机制促进中国国内改革,中国也可以从全球治理中获得更多的和平发展机遇,中国的和平发展对世界的发展又形成了有力的“正能量”。

精彩推荐