Flutter自定义标题栏按钮插件libadwaita_titlebar_buttons的使用

Flutter 自定义标题栏按钮插件 libadwaita_titlebar_buttons 的使用

使用方法

首先,在 Dart 文件顶部导入此包:

import 'package:libadwaita_titlebar_buttons/libadwaita_titlebar_buttons.dart';

然后,将它传递给 AdwHeaderBar 控件的 controls 参数:

AdwHeaderBar(
    controls: AdwControls().titlebarButtons(),
    // 其他参数...
)

额外信息

该包依赖于 titlebar_buttons 包以提供窗口对象。因此,当 titlebar_buttons 更新时,本包也需要相应更新。

该包是 libadwaita 包的一部分。

完整示例代码

# pubspec.yaml
dependencies:
  adwaita:
  libadwaita:
  libadwaita_titlebar_buttons:
// main.dart

import 'package:adwaita/adwaita.dart';
import 'package:flutter/material.dart';
import 'package:libadwaita/libadwaita.dart';
import 'package:libadwaita_titlebar_buttons/libadwaita_titlebar_buttons.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: AdwaitaThemeData.light(),
      darkTheme: AdwaitaThemeData.dark(),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);
  
  [@override](/user/override)
  Widget build(BuildContext context) {
    return AdwScaffold(
      headerbar: (_) => AdwHeaderBar(
        controls: AdwControls().titlebarButtons(), // 添加自定义按钮
        start: const [
          AdwHeaderButton(
            icon: Icon(Icons.nightlight_round, size: 15), // 示例图标
          ),
        ],
        title: const Text('Titlebar Buttons'), // 设置标题
      ),
      body: const Center(
        child: Text('Welcome to Titlebar Buttons Example!'), // 页面主体内容
      ),
    );
  }
}

更多关于Flutter自定义标题栏按钮插件libadwaita_titlebar_buttons的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter自定义标题栏按钮插件libadwaita_titlebar_buttons的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


libadwaita_titlebar_buttons 是一个 Flutter 插件,用于在桌面应用程序中自定义标题栏按钮。它允许你在应用程序的标题栏中添加自定义的按钮,类似于 GNOME 的 Libadwaita 风格。以下是如何使用 libadwaita_titlebar_buttons 插件的步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 libadwaita_titlebar_buttons 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  libadwaita_titlebar_buttons: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来获取依赖。

2. 导入插件

在你的 Dart 文件中导入 libadwaita_titlebar_buttons 插件:

import 'package:libadwaita_titlebar_buttons/libadwaita_titlebar_buttons.dart';

3. 使用 LibadwaitaTitleBarButtons

你可以在 AppBar 或其他地方使用 LibadwaitaTitleBarButtons 来添加自定义的标题栏按钮。以下是一个简单的示例:

import 'package:flutter/material.dart';
import 'package:libadwaita_titlebar_buttons/libadwaita_titlebar_buttons.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Libadwaita TitleBar Buttons Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Libadwaita TitleBar Buttons'),
        actions: [
          LibadwaitaTitleBarButtons(
            onClose: () {
              print('Close button pressed');
            },
            onMaximize: () {
              print('Maximize button pressed');
            },
            onMinimize: () {
              print('Minimize button pressed');
            },
          ),
        ],
      ),
      body: Center(
        child: Text('Hello, World!'),
      ),
    );
  }
}
回到顶部