v0.0.5
spider_web_control
一個用於建立可自訂節點與連接的互動式蛛網狀控制元件的 Flutter 套件。
2喜歡 15近 30 天下載160Pub 分數
AndroidiOSWebmacOSWindowsLinux
一個可自訂的蜘蛛網控制項小部件,適用於 Flutter,可偵測觸控方向並具備互動式視覺效果。
{"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.