# FAQ's

### I want to extract files in Windows.

#### **Solution:**

• Unzip the file.

• Right click on the extracted file and select \`View files\`.

### **How do I customise the app**?

I need to customise certain widgets used in the app. How can I do it?

**Solution:**

The whole app is made modular , so customizing the widgets used in the app will be a cakewalk. Every reusable widget used in the app are separated into different dart files under the `/widgets` directory. Each of these widgets take the required parameters and a list of data items. These widgets can be modified to app requirements and is completely modular in structure.

### I need to use custom colors and also use certain primary colors and themes across my whole app.

**Solution:**

Under the `/lib/constants` directory exists a `app_color.dart` file that specifies the primary, accent, primary dart color.

ThemeData has several parameters which can be used to specify style properties to be used across the app.

### **How do I decide which widget must be Stateful and which one must be Stateless?**

**Solution:**

**1. Figure out which widgets must be Stateful and Stateless**

Widgets in Flutter can be Stateful or Stateless, depending on whether they depend on some state. If a widget changes—the user interacts with it, it’s Stateful; otherwise it can be Stateless. Stateful widgets are useful when the part of the user interface you are describing can change dynamically.

**2. If using Stateful widget, decide which object manages the widget’s state.**

There are three main ways to manage state:

* The widget manages its own state.
* The parent manages the widget’s state.
* A mix-and-match approach

How do you decide which approach to use? The following principles should help you decide:

* If the state in question is user data, for example the checked or unchecked mode of a checkbox, or the position of a slider, then the state is best managed by the parent widget.
* If the state in question is aesthetic, for example an animation, then the widget itself best manages the state.
* When in doubt, let the parent widget manage the child widget’s state.

**3. Subclass StatefulWidget and State.**

The `MyStatefulWidget` class manages its own state, so it overrides `createState()` to create the State object. The framework calls `createState()` when it wants to build the widget. In this example, `createState()` creates an instance of `_MyStatefulWidgetState`, which is implemented in the next step.

```
class MyStatefulWidget extends StatefulWidget {  MyHomePage({Key key, this.title}) : super(key: key);  final String title;​  @override  _MyStatefulWidgetState createState() => new _MyStatefulWidgetState();}​class _MyStatefulWidgetState extends State<MyStatefulWidget> {​  @override  Widget build(BuildContext context) {    ...  }}
```

&#x20;**4. Plug the stateful widget into the widget tree.**

Add your custom stateful widget to the widget tree in the app’s build method.

```
// This widget is the root of your application.  @override  Widget build(BuildContext context) {    return new MaterialApp(      title: 'Flutter Demo',      theme: new ThemeData(        primarySwatch: Colors.blue,      ),      home: new MyStatefulWidget(title: 'State Change Demo'),    );  }}
```

## **None of the above, I have a different query?** <a href="#none-of-the-above-i-have-a-different-query" id="none-of-the-above-i-have-a-different-query"></a>

The above listed FAQs were not of your help? Facing some other issues?

**Solution:**

We provide our customers with lively support and welcome all your issues. We request you to provide a short description of the visible symptoms of the error that you are facing. If applicable, include error messages, screen shots, and stack traces. If applicable, submit a step-by-step walkthrough of how to reproduce the issue.
