Flutter Claymorphism风格UI插件claymorphism的使用

Flutter Claymorphism风格UI插件claymorphism的使用

Claymorphism Package

Pub License

一个为现代美观设计提供粘土形态UI容器的Flutter插件。

特性

  • 易于使用的粘土形态容器用于UI设计。
  • 可自定义的属性以调整容器的外观。
  • 提供多种容器形状和样式。
  • 兼容Flutter网页和移动应用。

安装

在你的pubspec.yaml文件中添加以下行:

dependencies:
  claymorphism: ^0.1.2

示例

粘土卡片

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

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.grey.shade300,
      body: Center(
        child: ClayCard(
          height: MediaQuery.of(context).size.height * 0.35,
          width: MediaQuery.of(context).size.height * 0.35,
        ),
      ),
    );
  }
}

带阴影的粘土卡片

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

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.grey.shade300,
      body: Center(
        child: CardWithShadow(
          height: MediaQuery.of(context).size.height * 0.35,
          width: MediaQuery.of(context).size.height * 0.35,
        ),
      ),
    );
  }
}

完整示例代码

以下是完整的示例代码,展示了如何在一个Flutter应用中使用claymorphism插件。

import 'package:flutter/material.dart';

import 'screens/desktop.dart';
import 'screens/mobile.dart';
import 'screens/tablet.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  // 这个小部件是你的应用的根组件。
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const RoutePage(),
    );
  }
}

class RoutePage extends StatelessWidget {
  const RoutePage({super.key});

  [@override](/user/override)
  Widget build(BuildContext context) {
    double screenWidth = MediaQuery.of(context).size.width;
    if(screenWidth<640){
    return const Mobile();
    } else if(screenWidth>=640&&screenWidth<1000){
      return const Tablet();
    }
    return const Desktop();
  }
}

更多关于Flutter Claymorphism风格UI插件claymorphism的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter Claymorphism风格UI插件claymorphism的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用claymorphism插件来创建Claymorphism风格UI的代码示例。claymorphism插件允许你创建具有柔软、粘土质感的界面元素,这种风格近年来在UI设计中越来越受欢迎。

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

dependencies:
  flutter:
    sdk: flutter
  claymorphism: ^x.y.z  # 请替换为最新版本号

然后,运行flutter pub get来安装依赖。

接下来是一个简单的示例,展示如何使用claymorphism插件创建一个具有粘土质感的按钮:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Claymorphism Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Claymorphism Demo'),
        ),
        body: Center(
          child: ClayButton(
            onPressed: () {
              print('Button pressed!');
            },
            child: Text(
              'Clay Button',
              style: TextStyle(color: Colors.white),
            ),
            width: 200,
            height: 60,
            color: Colors.blue.shade400,
            borderColor: Colors.blue.shade600,
            borderRadius: 20,
            depth: 10,
            blur: 10,
            spread: 2,
          ),
        ),
      ),
    );
  }
}

在这个示例中,我们创建了一个Flutter应用,其中包含一个使用ClayButton的页面。ClayButtonclaymorphism插件提供的一个按钮组件,它具有粘土质感的效果。

ClayButton的参数解释如下:

  • onPressed: 按钮点击时的回调函数。
  • child: 按钮上的文本或图标。
  • widthheight: 按钮的宽度和高度。
  • color: 按钮的主要颜色。
  • borderColor: 按钮边框的颜色。
  • borderRadius: 按钮边框的圆角半径。
  • depth: 粘土质感的深度。
  • blur: 模糊效果的程度。
  • spread: 粘土质感扩散的程度。

你可以根据需要调整这些参数来创建不同样式的粘土质感按钮。

希望这个示例能帮助你理解如何在Flutter项目中使用claymorphism插件来创建Claymorphism风格的UI。如果你有更多的需求或问题,欢迎继续提问!

回到顶部