首页 > 解决方案 > 如何向图标添加旋转属性?

问题描述

我想根据设备的标题/方向旋转图像,此类生成MarkerIcon小部件

import 'package:location/location.dart';

class MarkerOption {
  final MarkerIcon? defaultMarker;
  final MarkerIcon? advancedPickerMarker;

  MarkerOption({
    this.defaultMarker,
    this.advancedPickerMarker,
  });
  MarkerOption copyWith({
    MarkerIcon? defaultMarker,
    MarkerIcon? advancedPickerMarker,
  }) {
    return MarkerOption(
        defaultMarker: defaultMarker ?? this.defaultMarker,
        advancedPickerMarker:
            advancedPickerMarker ?? this.advancedPickerMarker);
  }
}

class MarkerIcon extends StatelessWidget {
  final Icon? icon;
  final AssetImage? image;

  MarkerIcon({
    this.icon,
    this.image,
    Key? key,
  })  : assert(icon != null || image != null),
        super(key: key);

  @override
  Widget build(BuildContext context) {
    Widget? child = SizedBox.shrink();
    if (icon != null) {
      child = icon;
    } else if (image != null)
      child = Image(
        image: image!,
      );
    return child!;
  }
}

我正在使用允许您像这样将旋转属性添加到小部件的位置插件 MarkerIcon( rotation: currentLocation.heading )这样,图像将指向我的设备指向的任何方向。但我不知道如何在此类中使用它。如何将这些属性添加到类中以便我可以这样调用它?

 markerIcon: MarkerIcon(
             image: AssetImage(
              "images/images/arrow.png",
              rotation: position.heading,
            ),
          )

标签: flutterdart

解决方案


推荐阅读