Текст сообщения всплывающей подсказки и цвет фона - PullRequest
0 голосов
/ 30 марта 2019

У меня есть Image.asset, намотанный на всплывающую подсказку

Padding(
     padding: edgeInsets,
     child: Tooltip(preferBelow: false, message: "Miejsca parkingowe ogólnodostępne", child: Image.asset("assets/icons/garage.png", width: _iconSize, height: _iconSize,)),
),

Как установить цвет текста сообщения всплывающей подсказки и цвет фона?

1 Ответ

0 голосов
/ 30 марта 2019

Я думаю, Tooltip не предоставляет параметр для изменения этих поведений, но

Tooltip берет вашу тему

final ThemeData theme = Theme.of(context);
    final ThemeData darkTheme = ThemeData(
      brightness: Brightness.dark,
      textTheme: theme.brightness == Brightness.dark ? theme.textTheme : theme.primaryTextTheme,
      platform: theme.platform,
    );

так что вы можете создать тему в вашем MaterialApp (Цвет текста работает, но backgroundColor не работает в моем приложении, вы можете попробовать)

return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        backgroundColor: Colors.amber,
        primaryTextTheme: TextTheme(
          body1: TextStyle(
            color: Colors.blue,
          )
        ),
        primarySwatch: Colors.blue,
      ),
      home: ......

или

Это код Tooltip, возможно, вы можете изменить исходный код Tooltip, что является плохим решением.

    return Positioned.fill(
      child: IgnorePointer(
        child: CustomSingleChildLayout(
          delegate: _TooltipPositionDelegate(
            target: target,
            verticalOffset: verticalOffset,
            preferBelow: preferBelow,
          ),
          child: FadeTransition(
            opacity: animation,
            child: Opacity(
              opacity: 0.9,
              child: ConstrainedBox(
                constraints: BoxConstraints(minHeight: height),
                child: Container(
                  decoration: BoxDecoration(
                    color: darkTheme.backgroundColor,
                    borderRadius: BorderRadius.circular(2.0),
                  ),
                  padding: padding,
                  child: Center(
                    widthFactor: 1.0,
                    heightFactor: 1.0,
                    child: Text(message, style: darkTheme.textTheme.body1),
                  ),
                ),
              ),
            ),
          ),
        ),
      ),
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...