Есть ли у Flutter тип класса интерфейса/адаптера для страниц?

Сейчас у меня есть целевая страница с кучей ссылок на разные категории. Эти ссылки будут вести на кучу страниц, которые будут иметь похожие макеты, но единственная разница заключается в текстовом содержании каждой страницы. Есть ли способ сделать интерфейс страницы для этих типов страниц и повторно использовать этот код, или мне нужно сделать, скажем, 20 разных страниц? Спасибо

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
213
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

С Flutter это действительно просто, вы можете буквально создать новый StatefulWidget с вашими повторяющимися параметрами (давайте просто скажем заголовок и содержимое):

import 'package:flutter/material.dart';

class CustomPage extends StatefulWidget {
  final String title;
  final String content;

  CustomPage({
    Key key,
    @required this.title,
    @required this.content,
  }) : super(key: key);

  @override
  _CustomPageState createState() => _CustomPageState();
}

class _CustomPageState extends State<CustomPage> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: widget.title,
      home: Scaffold(
        appBar: AppBar(
          title: Text(widget.title),
        ),
        body: Container(
          margin: EdgeInsets.all(15),
          child: Text(
            widget.content,
          ),
        ),
      ),
    );
  }
}

Теперь, чтобы использовать его, вы вызываете новый виджет где угодно:

@override
Widget build(BuildContext context) {
    return CustomPage(
      title: "First Title",
      content: "Long long content: Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.",
    );
}

Ваш окончательный результат будет примерно таким:

Repetitive Screen

@JacobBarcelona, ​​с удовольствием :) не забудьте отметить мой ответ как правильный, чтобы больше людей могли его найти и получить первыми.

Mariano Zorrilla 22.06.2019 16:14

Другие вопросы по теме