Проверьте журнал ошибок:
FixedExtentScrollController can only be used with ListWheelScrollViews
. Таким образом, вы не можете использовать FixedExtentScrollController
с ListView
, вам необходимо использовать ListWheelScrollViews
. Это ваш исправленный код:
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
backgroundColor: Colors.deepPurple,
title: const Text('List'),
),
body: data == null
? Center(
child: CircularProgressIndicator(),
)
: ListWheelScrollView(
itemExtent: 100.0,
controller: fixedExtentScrollController,
children: data
.map((val) => Container(
child: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Card(
child: Container(
padding: EdgeInsets.all(15.0),
child: Row(
children: <Widget>[
Text("Title: "),
Expanded(
child: Text(val["title"],
style: TextStyle(
fontSize: 11.0,
color: Colors.black87)),
),
],
)),
),
],
),
),
))
.toList()),
),
);
}
Вы пробовали "буферизацию вывода"?
<?php
...
ob_start();
?>
<html>
<head>...</head>
<body>...<?php echo $another_variable ?></body>
</html>
<?php
$variable = ob_get_clean();
...
?>
Я не совсем уверен в том, что вы пытаетесь достичь, но я думаю, что-то вроде синтаксиса heredoc может быть полезно для вас:
<?
$variable = <<< MYSTRING
<html>
<head>...</head>
<body>...</body>
</html>
MYSTRING;
Однако, если вы пытаясь создавать шаблоны HTML, я настоятельно рекомендую вам получить реальный шаблонизатор, такой как Smarty , Dwoo или Savant .
Я всегда рекомендую ИЗБЕГАТЬ буферных функций (например, ob_start
и т. Д.) Всякий раз, когда у вас есть альтернатива (потому что иногда они могут конфликтовать с частями в одной системе).
function Show_My_Html()
{ ?>
<html>
<head></head>
<body>
...
</body>
</html>
<?php
}
...
//then you can output anywhere
Show_My_Html();
ДЕЙСТВИТЕЛЬНО СУМАСШЕДШИЙ, но имейте в виду, что если вы сделаете это:
<?php echo ""; ?>
Вы получите это:
<html><head></head><body></body></html>
Сохраняйте спокойствие, это только попытка php свести вас с ума.
Думаю, вам нужен синтаксис heredoc .
Например:
$var = <<<HTML
<html>
<head>
random crap here
</html>
HTML;
Хорошо, что вы хотите делать, в некотором смысле возможно.
Вы не можете просто назначить блок HTML переменной php или сделать это с помощью функции. Однако есть несколько способов добиться желаемого результата.
Одна из ваших проблем заключается в том, что любой HTML-код на вашей странице немедленно отправляется клиенту, что означает, что его нельзя использовать в качестве переменной в php. Однако, если вы используете функции ob_start и ob_end_fush вы можете добиться того, чего хотите.
например
<?php
somesetupcode();
ob_start(); ?>
<html>
<body>
html text
</body>
</html>
<?php
//This will assign everything that has been output since call to ob_start to your variable.
$myHTML = ob_get_contents() ;
ob_end_flush();
?>
Надеюсь, это поможет вам прочитать о выходных буферах в документации php.