【问题标题】:Flutter Web: How to fix SelectableText alignment?Flutter Web:如何修复 SelectableText 对齐?
【发布时间】:2020-04-08 17:02:41
【问题描述】:

我在Row 中有一个SelectableTextIcon,但SelectableText 似乎没有正确对齐。

现在看起来像这样,

预期结果:

这是我正在使用的代码,

        Row(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Icon(FontAwesomeIcons.whatsapp),
            const Padding(padding: EdgeInsets.only(left: 8)),
            SelectableText(
              '+91-8**2**8**5',
              textAlign: TextAlign.center,
              style: Theme.of(context).textTheme.title,
            )
          ],
        ),

PS:它适用于 Text,但我想要 SelectableText

【问题讨论】:

    标签: flutter flutter-layout flutter-web


    【解决方案1】:

    问题网络上的可选文本小部件被剪掉了一半 https://github.com/flutter/flutter/issues/40663 已解决。
    请升级到最新版本
    附上我的完整测试代码和结果

    完整的测试代码

    import 'package:flutter/material.dart';
    import 'package:font_awesome_flutter/font_awesome_flutter.dart';
    
    void main() => runApp(MyApp());
    
    class MyApp extends StatelessWidget {
      // This widget is the root of your application.
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          title: 'Flutter Demo',
          theme: ThemeData(        
            primarySwatch: Colors.blue,
          ),
          home: MyHomePage(title: 'Flutter Demo Home Page'),
        );
      }
    }
    
    class MyHomePage extends StatefulWidget {
      MyHomePage({Key key, this.title}) : super(key: key);
    
      final String title;
    
      @override
      _MyHomePageState createState() => _MyHomePageState();
    }
    
    class _MyHomePageState extends State<MyHomePage> {
      int _counter = 0;
    
      void _incrementCounter() {
        setState(() {      
          _counter++;
        });
      }
    
      @override
      Widget build(BuildContext context) {   
        return Scaffold(
          appBar: AppBar(        
            title: Text(widget.title),
          ),
          body: Center(        
            child: Column(          
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    const Icon(FontAwesomeIcons.whatsapp),
                    const Padding(padding: EdgeInsets.only(left: 8)),
                    SelectableText(
                      '+91-8**2**8**5',
                      textAlign: TextAlign.center,
                      style: Theme.of(context).textTheme.title,
                    )
                  ],
                ),
                Text(
                  'You have pushed the button this many times:',
                ),
                Text(
                  '$_counter',
                  style: Theme.of(context).textTheme.display1,
                ),
              ],
            ),
          ),
          floatingActionButton: FloatingActionButton(
            onPressed: _incrementCounter,
            tooltip: 'Increment',
            child: Icon(Icons.add),
          ), 
        );
      }
    }
    

    【讨论】:

    • 我到底怎么想不通!实际上我切换到主频道它下载了一些东西,我以为我正在运行最新版本。非常感谢。
    猜你喜欢
    • 2020-06-28
    • 2021-07-14
    • 2020-04-02
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    相关资源
    最近更新 更多