mirror of
https://github.com/alibaba/flutter-go.git
synced 2025-05-20 06:16:20 +08:00
64 lines
3.0 KiB
Dart
64 lines
3.0 KiB
Dart
// Copyright 2015 The Chromium Authors. All rights reserved.
|
||
// Use of this source code is governed by a BSD-style license that can be
|
||
// found in the LICENSE file.
|
||
|
||
import 'package:flutter/material.dart';
|
||
import './home_banner.dart';
|
||
import '../model/story.dart';
|
||
import 'package:url_launcher/url_launcher.dart';
|
||
|
||
class Pagination extends StatelessWidget {
|
||
static final String routeName = '/material/page-selector';
|
||
static final List<Icon> icons = <Icon>[
|
||
const Icon(Icons.event, semanticLabel: 'Event'),
|
||
const Icon(Icons.home, semanticLabel: 'Home'),
|
||
const Icon(Icons.android, semanticLabel: 'Android'),
|
||
const Icon(Icons.alarm, semanticLabel: 'Alarm'),
|
||
const Icon(Icons.face, semanticLabel: 'Face'),
|
||
const Icon(Icons.language, semanticLabel: 'Language'),
|
||
];
|
||
|
||
final List<dynamic> arr = [
|
||
{'image': 'https://img.alicdn.com/tfs/TB1W4hMAwHqK1RjSZJnXXbNLpXa-519-260.jpg', 'type': 0, 'id': 9695909, 'url': 'https://www.zhihu.com/question/294145797/answer/551162834', 'title': '为什么阿里巴巴、腾讯和 Google 之类的企业都在使用 Flutter 开发 App?'},
|
||
{'image': 'https://img.alicdn.com/tfs/TB1XmFIApzqK1RjSZSgXXcpAVXa-720-338.jpg', 'type': 0, 'id': 9695859, 'url': 'https://zhuanlan.zhihu.com/p/51696594', 'title': 'Flutter 1.0 正式发布: Google 的便携 UI 工具包'},
|
||
{'image': 'https://img.alicdn.com/tfs/TB1mClCABLoK1RjSZFuXXXn0XXa-600-362.jpg', 'type': 0, 'id': 96956491409, 'url':'https://zhuanlan.zhihu.com/p/53497167','title': 'Flutter 示范应用现已开源 — 万物起源(The History of Everything)'},
|
||
{'image': 'https://img.alicdn.com/tfs/TB1fXxIAAvoK1RjSZFNXXcxMVXa-600-362.jpg', 'type': 0, 'id': 9695816, 'url': 'https://mp.weixin.qq.com/s?__biz=MzAwODY4OTk2Mg==&mid=2652048101&idx=1&sn=20296088e4bd8ca33c5c9991167d9f7d&chksm=808caaa0b7fb23b65c0e5806209f8d86da6732f3a00a70353f3606018339518b0a8656f14dc5&mpsshare=1&scene=2&srcid=0106SZapVysZdIS6Oc5AhNH6&from=timeline&ascene=2&devicetype=android-27&version=27000038&nettype=WIFI&abtest_cookie=BQABAAgACgALABMAFAAFAJ2GHgAjlx4AV5keAJuZHgCcmR4AAAA%3D&lang=zh_CN&pass_ticket=4K1%2FUpsxP4suPj2iubR17wbAP7r9LW9iYrPAC2dppTqv7j7JO5FWMXtcKeBRxueV&wx_header=1', 'title': 'Flutter 与 Material Design 双剑合璧,助您构建精美应用'}
|
||
];
|
||
|
||
void _launchURL(String url) async {
|
||
if (await canLaunch(url)) {
|
||
await launch(url);
|
||
} else {
|
||
throw 'Could not launch $url';
|
||
}
|
||
}
|
||
|
||
List<Widget> _pageSelector(BuildContext context) {
|
||
List<Widget> list = [];
|
||
List<StoryModel> bannerStories = [];
|
||
/// super.initState();
|
||
arr.forEach((item) {
|
||
bannerStories.add(StoryModel.fromJson(item));
|
||
});
|
||
|
||
|
||
if (arr.length > 0) {
|
||
list.add(HomeBanner(bannerStories, (story) {
|
||
_launchURL('${story.url}');
|
||
}));
|
||
}
|
||
return list;
|
||
}
|
||
|
||
@override
|
||
Widget build(BuildContext context) {
|
||
return
|
||
Column(
|
||
key:Key('__header__'),
|
||
//physics: AlwaysScrollableScrollPhysics(),
|
||
//padding: EdgeInsets.only(),
|
||
children: _pageSelector(context)
|
||
);
|
||
}
|
||
}
|