美文网首页Flutter从入门到进阶 实战携程网App
10.【文档讲解】主题和文字处理

10.【文档讲解】主题和文字处理

作者: 全栈小土堆堆堆 | 来源:发表于2019-04-10 17:43 被阅读0次

3-19【文档讲解】主题和文字处理

声明:Flutter专栏文档均来自慕课网
https://coding.imooc.com/class/321.html

主题和文字处理

  • 如何在 Text widget上设置自定义字体?
  • 如何在Text上定义样式?
  • 如何给 App 设置主题?

如何在 Text widget上设置自定义字体?

  • 在 iOS 中,你在项目中引入任意的 ttf 文件,并在 info.plist 中设置引用;
  • 在Android SDK(从Android O开始)中,创建一个Font资源文件并将其传递到TextView的FontFamily参数中;

在 Flutter 中设置字体更加简便,只需要在文件夹中放置字体文件,并在 pubspec.yaml 中引用它,就像添加图片那样:

fonts:
   - family: MyCustomFont
     fonts:
       - asset: fonts/MyCustomFont.ttf
       - style: italic

然后,通过如下方式使用字体:

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(
      title: Text("Sample App"),
    ),
    body: Center(
      child: Text(
        'This is a custom font text',
        style: TextStyle(fontFamily: 'MyCustomFont'),
      ),
    ),
  );
}

如何在Text上定义样式?

除了字体以外,你也可以给 Text widget 的样式元素设置自定义值。Text widget 接受一个 TextStyle 对象,你可以指定许多参数,比如:

  • color
  • decoration
  • decorationColor
  • decorationStyle
  • fontFamily
  • fontSize
  • fontStyle
  • fontWeight
  • hashCode
  • height
  • inherit
  • letterSpacing
  • textBaseline
  • wordSpacing

如何给 App 设置主题?

Flutter 实现了一套漂亮的 Material Design组件,它接管了一大堆你需要的样式和主题。

为了充分发挥你的 App 中 Material Design 组件的优势,声明一个顶级 widget,MaterialApp,用作你的 App 入口。MaterialApp 是一个便利组件,包含了许多 App 通常需要的 Material Design 风格组件。它通过一个 WidgetsApp 添加了 Material Design 功能来实现。

但是 Flutter 足够地灵活和富有表现力来实现任何其他的设计语言。在 iOS 上,你可以用 Cupertino library 来制作遵守 Human Interface Guidelines 的界面。查看这些 widget 的集合,可参考 Cupertino widgets gallery

你也可以在你的 App 中使用 WidgetApp,它提供了许多相似的功能,但不如 MaterialApp 那样强大。

对任何子组件定义颜色和样式,可以给 MaterialApp widget 传递一个 ThemeData 对象。举个例子,在下面的代码中,primary swatch 被设置为蓝灰色,并且文字的选中颜色是红色:

import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Sample App',
      theme: ThemeData(
          primarySwatch: Colors.blueGrey,
          textSelectionColor: Colors.red
      ),
      home: Scaffold(
        appBar: AppBar(),
        body: Text('Android、iOS开发者快速上手Flutter-主题和文字处理'),
      ),
    );
  }
}

相关文章

  • 10.【文档讲解】主题和文字处理

    3-19【文档讲解】主题和文字处理 声明:Flutter专栏文档均来自慕课网https://coding.imoo...

  • 搭建Hexo博客进阶篇---主题自定义(三)

    本文续接 Hexo 文档讲解篇 Yelee主题介绍 更换主题 创建 Hexo 主题非常容易,您只要在 themes...

  • 一 json

    /** * Created by chaozhang on 2017/12/10. * 内容介绍:讲解json的 ...

  • fruit 话题 思维导图

    用思维导图,可以更好的帮助我们记忆单词和文章。那么我们以水果的单词和文章来讲解以下思维导图。 一. 主题 和结构 ...

  • 新媒体使用工具大全

    【新媒体运营常用工具大全汇总】 一、文字处理 1、文档协作工具:①腾讯文档;②有道云笔记;③石墨文档;④Tower...

  • 学习体会

    4月3日,本期培训主题是信息技术在教育教学中的应用。 庞主任给我们培训了手机云文档使用的技巧和文档...

  • 注释和文档

    注释 单行注释和多行注释, 请参考本章第一小节 在代码的关键部分(或比较复杂的地方), 能写注释的要尽量写注释 比...

  • CSS和文档

    块级元素 块级元素生成一个元素框,(默认的)他会填充其父元素的内容区,旁边不能有其他元素,比如说p和div等等 行...

  • css和文档

    元素(Element)是文档结构的基础。 替换元素和非替换元素。 替换元素:用来替换内容的部分并非由文档内容直接表...

  • 注释和文档

    注释 注释是用于使代码更容易理解的代码的说明。它们不影响代码的运行。 在 Python 中,通过插入一个 # 来创...

网友评论

    本文标题:10.【文档讲解】主题和文字处理

    本文链接:https://www.haomeiwen.com/subject/utuoiqtx.html