搜索插件、代码仓与 APP 分类

插件详情v0.6.0

hover_effect

获取任何子部件并为其启用悬停/倾斜3D功能。

近 30 天下载
25
喜欢数
92
Pub 分数
40

安装插件

flutter pub add hover_effect

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

hover_effect 包为任何小部件增强交互式悬停和倾斜3D效果,当用户将光标移至组件上时,可创建动态视觉反馈。它旨在实现流畅的动画和直观的用户参与,非常适合按钮、卡片或需要细微运动效果的图像。该包轻量且易于集成,只需在目标小部件周围添加一个包装器即可。它支持跨设备的响应式行为,并可自定义灵敏度和动画风格。

适合场景

  • 交互式 UI 元素
  • 动画按钮和卡片
  • 悬停时的视觉反馈
  • 增强型图像画廊
  • 游戏化界面

主要特点

  • 悬停和倾斜3D效果
  • 简单的 widget 包装
  • 可自定义灵敏度
  • 响应式设计支持
  • 流畅的动画性能

适合对象

  • 寻求互动性的UI设计师
  • 开发引人入胜的仪表板的开发者
  • 注重视觉效果的项目
  • 带有触摸/光标交互的网页和移动应用

使用建议

  • 可能会影响低端设备的性能
  • 除了倾斜和悬停之外,自定义选项有限
  • 未针对仅触控环境优化
  • 需要指针输入(鼠标/触摸板)

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

hover_effect

Hover - Tilt 3D Effect

Takes any child widget and enables Hover/Tilt 3D functionality to it

Demo

Getting Started

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Hover - Tilt 3D Effect',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: Material(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              'Hover - Tilt 3D Effect',
              style: TextStyle(
                  fontSize: 30,
                  fontWeight: FontWeight.w700,
                  color: Colors.black,
                  letterSpacing: 2),
            ),
            SizedBox(height: 50),
            Container(
              width: 150,
              height: 300,
              child: HoverCard(
                builder: (context, hovering) {
                  return Container(
                    color: Color(0xFFE9E9E9),
                    child: Center(
                      child: FlutterLogo(size: 100),
                    ),
                  );
                },
                depth: 10,
                depthColor: Colors.grey[500],
                onTap: () => print('Hello, World!'),
                shadow: BoxShadow(color: Colors.purple[200], blurRadius: 30, spreadRadius: -20, offset: Offset(0, 40)),
              ),
            ),
          ],
        ),
      ),
    );
  }
}

所属分类

源码仓库

使用此插件的项目

暂无相关数据。