title: What is difference between primary and onPrimary properties in ColorScheme Flutter
body: <p>While defining <code>ThemeData</code> of the Flutter app, we can define <code>colorScheme</code> property.
  This property has inner-properties such as <code>background</code> &amp; <code>onBackground</code>, <code>primary</code> &amp; <code>onPrimary</code>, <code>secondary</code> &amp; <code>onSecondary</code>, etc. Also, all these properties are set as <code>required</code>.</p>
  <pre><code>  static final ThemeData lightTheme = ThemeData(
      colorScheme: ColorScheme(
        background: appBackgroundColor,
        brightness: Brightness.light,
        error: Colors.white,
        onBackground: primaryColor,
        onError: null,
        onPrimary: null,
        onSecondary: null,
        onSurface: null,
        primary: null,
        secondary: secondaryColor,
        surface: null,
      ),
    );
  </code></pre>
  <p>I tried referring the <a href="https://api.flutter.dev/flutter/material/ColorScheme-class.html#instance-properties" rel="nofollow noreferrer">documentation</a> of Flutter but I was not quite able to understand the difference between them.</p>