v0.0.5
spider_web_control
사용자 정의 가능한 노드와 연결을 가진 상호작용식 거미줄 모양 컨트롤 위젯을 생성하기 위한 Flutter 패키지입니다.
2좋아요 1530일 다운로드160Pub 점수
AndroidiOSWebmacOSWindowsLinux
터치 방향을 감지하고 상호작용 가능한 시각 효과를 제공하는 커스터마이즈 가능한 스파이더 웹 컨트롤 위젯입니다.
{"sdk":"flutter"}{"sdk":"flutter"}^5.0.0아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
Static Badge Static Badge Static Badge
A customizable spider web control widget for Flutter that detects touch directions with interactive visual effects.
Add this to your package's pubspec.yaml file:
dependencies:
spider_web_control: ^0.0.2
import 'package:spider_web_control/spider_web_control.dart';
SpiderWebControl(
onDirectionChanged: (direction) {
print('Direction: $direction');
// Handle direction change (e.g., send to device)
},
)
SpiderWebControl(
config: SpiderWebConfig(
size: 400.0,
threadColor: Colors.cyan,
dewDropColor: Colors.lightBlue,
centerThreshold: 100.0,
sendInterval: Duration(milliseconds: 500),
),
onDirectionChanged: (direction) {
// Your custom logic here
},
onTouchStart: () => print('Touch started'),
onTouchEnd: () => print('Touch ended'),
)
class MyBluetoothController extends StatelessWidget {
final BluetoothConnection connection;
MyBluetoothController({required this.connection});
@override
Widget build(BuildContext context) {
return SpiderWebControl(
config: SpiderWebConfig.darkTheme(size: 350.0),
onDirectionChanged: (direction) {
// Send direction to Bluetooth device
connection.output.add(Uint8List.fromList(direction.codeUnits));
},
);
}
}
// Dark theme
SpiderWebControl(
config: SpiderWebConfig.darkTheme(size: 300.0),
onDirectionChanged: (direction) => handleDirection(direction),
)
// Light theme
SpiderWebControl(
config: SpiderWebConfig.lightTheme(size: 300.0),
onDirectionChanged: (direction) => handleDirection(direction),
)
// Custom theme
SpiderWebControl(
config: SpiderWebConfig(
size: 320.0,
threadColor: Colors.purple,
minorThreadColor: Colors.purpleAccent,
dewDropColor: Colors.pink,
radialDivisions: 48,
circleDivisions: 30,
),
onDirectionChanged: (direction) => handleDirection(direction),
)
| Property | Type | Default | Description |
|---|---|---|---|
size |
double |
300.0 |
Size of the spider web widget |
threadColor |
Color |
Colors.blue |
Main thread color |
minorThreadColor |
Color |
Colors.blueGrey |
Minor thread color |
dewDropColor |
Color |
Colors.lightBlue |
Dew drop accent color |
centerThreshold |
double |
80.0 |
Dead zone radius in center |
sendInterval |
Duration |
Duration(seconds: 1) |
Minimum time between direction callbacks |
radialDivisions |
int |
36 |
Number of radial web divisions |
circleDivisions |
int |
25 |
Number of circular web divisions |
The widget returns these direction strings:
'R' - Right'L' - Left'F' - Forward/Up'B' - Back/Down'FR' - Forward-Right'FL' - Forward-Left'BR' - Back-Right'BL' - Back-Left'Disabled Zone' - Center area (not sent to callback)MIT License - see LICENSE file for details.