> For the complete documentation index, see [llms.txt](https://docs.thunkable.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thunkable.com/~/changes/wHhkjLVeheBnfbpghRnw/screen.md).

# Screen

When building apps on Thunkable, Screens function like blank pages in a book. They allow you to display different components and information.

## Adding a Screen to your Project

There are two ways to add a new screen to your app:

Click the + icon next to your Screen names in the Screens bar.

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAn5scXl2uqUJUOqkJo%2F-MY3sux7tIRtre_NUoH9%2F-MY3tyE6lu_8bvnzoIyK%2FScreen%20Shot%202021-04-12%20at%208.06.10%20AM.png?alt=media\&token=c9440ffc-2d58-435f-9a75-ad0e05b11b32)

Click **Screens +** at the top of your component tree. \
Select **Create New Screen.**

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAn5scXl2uqUJUOqkJo%2F-MXmEciK9-jVjUdPSZhd%2F-MXmF5VH5VxxvROGqY-M%2FScreen%20Shot%202021-04-08%20at%205.11.05%20PM.png?alt=media\&token=1532e420-816d-49a3-bdf6-fc6876b85ae4)

### Copy and paste components&#x20;

Once you’ve perfected the design of a screen on the Design tab of a drag and drop project you can duplicate it using copy and paste keyboard shortcuts.

To copy and paste a screen:&#x20;

1. Click on a screen name in the component tree (A) or the screen itself within your workspace (B).

   <figure><img src="https://lh3.googleusercontent.com/aVVH2nMfdTb2fyerNLzn4HktWL-hv50diVzP90PQvpSbbB45FGWUwj1OF9chxAoR1iVJV813LPP3nL8Yd95Av6EAw5NEG1oOktoM1GXqDg8LyLCraIKV-zXSHmtBXHJp-LNdDX_446vqo7028JI4o9IrQYPDTPo4aIkhwA-ZakAejpB0DctUGreUVA" alt=""><figcaption></figcaption></figure>
2. Type **ctrl+c** or **command+c** on Mac, and **ctrl+c** on PC, to copy the screen.&#x20;
3. Type **ctrl+v** or **command+v** on Mac, and **ctrl+v** on PC, to paste a duplicate of the screen.
4. The new screen will be added to the right of the existing screen.

## Screen Properties

### Screen

| Property                           | Description                                                                                                                                                                           | Data Type                                                                                                                                                                                                      |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Scrollable                         | Select whether your user can scroll on this screen. For scrollable to work, the components in your screen must have heights either set in `absolute` pixels or set to `fit contents.` | True/False                                                                                                                                                                                                     |
| Background Color                   | Default (`none`). Select any color using the color picker, RGBA or HEX value                                                                                                          | Color                                                                                                                                                                                                          |
| Background Image                   | The image file to be shown in the tab's background                                                                                                                                    | <p>PNG, JPG, GIF, SVG, etc.<br>Can also use URL that ends in file extension (eg <a href="https://thunkable.com/static/media/logo.ba96eb83.png"><https://thunkable.com/static/media/logo.ba96eb83.png></a>)</p> |
| Background Image Resize Mode\*     | Set how image is shown if the file and the tab component have different dimensions/aspect ratio                                                                                       | Select from list `[cover, contain, stretch, repeat, center]`                                                                                                                                                   |
| Orientation (iOS and Android only) | Define the screen's orientation.                                                                                                                                                      | Select from list `[portrait, landscape, auto]`                                                                                                                                                                 |

#### \* Background Picture Resize Mode

This determines how to resize the image when the frame doesn't match the raw image dimensions.

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAn5scXl2uqUJUOqkJo%2F-Lhm2T0tSbe8cP26ff3v%2F-Lhm6DdY5UmF4Mtvzv2S%2Fimage.png?alt=media\&token=ffd0fb60-a97e-4351-b8ac-7177aac982e7)

* **Cover:** Fills the entire screen without changing the height and width ratio of the image<br>
* **Contain:** The entire image will be scaled down to fit inside the screen, without changing the height and width ratio of the image<br>
* **Stretch:** The image's height will change to fill the screen length-wise<br>
* **Repeat:** Repeat the image to cover the screen. The image's height and width ratio will not change  <br>
* **Center:** Positions the image in the middle of the frame

### Status Bar

The status bar is located at the top of a phone's screen. The status bar displays information regarding signal strength, battery, and whether or not things like the alarm or wi-fi are enabled.

| Property                   | Description                                                                                                                   | Data Type                                               |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| Visibility                 | Decide whether you want the status bar visible on the screen.                                                                 | True/False                                              |
| Style                      | Default is best practice, but you can select light-content or dark-content to potentially override the user's phone settings. | Select from menu (default, light-content, dark-content) |
| Color (Android only)       | Color of the status bar.                                                                                                      | Color                                                   |
| Translucent (Android only) | When translucent is set to true, the app will appear under the status bar.                                                    | True/False                                              |

## Save Screen

{% hint style="warning" %}
This feature is available to users with a Team level subscription only at this time.&#x20;
{% endhint %}

Thunkable allows you to reuse a screen, and its associated blocks, in multiple projects with the "Save to My Screens" feature. You can find the **Save Screen** button at the top of the properties for every screen component in your app.

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAn5scXl2uqUJUOqkJo%2F-Mkv3cTlaV0lu836JRZv%2F-Mkv413BLUlu3O-xrCqg%2FScreen%20Shot%202021-10-01%20at%209.59.01%20AM.png?alt=media\&token=bfa17a57-43e5-4aa8-a710-1fa997a690bb)

### Name Your Screen

It's important that when you save your screen you use a descriptive and memorable name that describes what your screen does. The example below is for a sign in screen, which is something that often get reused across multiple projects.

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAn5scXl2uqUJUOqkJo%2F-M1DQhVxj7DFjmmUUAuq%2F-M1DR8Ra-ljpUIuq3iC6%2F03_name_screen.png?alt=media\&token=c3e1ad8c-217d-48a4-af64-5a955a2b6492)

### Add a New Screen

Once you've saved a screen, any time you click the **`+`** button at the top of your component tree to add a new screen to your project, you will be given the option to add a blank screen or to "Add From Saved Screens".

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAn5scXl2uqUJUOqkJo%2F-Mkv3cTlaV0lu836JRZv%2F-Mkv4Lf7xIbSF9v5Wpve%2FScreen%20Shot%202021-10-01%20at%2010.00.23%20AM.png?alt=media\&token=2950cc05-8d4c-4745-9a20-7aef33997f09)

### Choose a Saved Screen

Simply choose the screen that you want to add in and click the "Copy" button to proceed.

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAn5scXl2uqUJUOqkJo%2F-M1DQhVxj7DFjmmUUAuq%2F-M1DR8RXZK6x_jcdGnGF%2F05_choose_screen.png?alt=media\&token=4d158dfe-2526-4b88-8bdd-ddf2bac41733)

## Screen Blocks&#x20;

### when Screen1 Starts

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAn5scXl2uqUJUOqkJo%2F-Lq6kxGxHZTvy-2jk25F%2F-Lq6l3Y_vuPUukn7G1sP%2Fscreen%20starts.png?alt=media\&token=de751a37-adb3-48d0-9e8a-4fc9a39d5772)

| Event  | Description                               |
| ------ | ----------------------------------------- |
| Starts | Fires when the Screen is **first** opened |

### when Screen1 Opens

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAn5scXl2uqUJUOqkJo%2F-Lq6kxGxHZTvy-2jk25F%2F-Lq6l3YaUyXbx26VFwy9%2Fscreen%20opens.png?alt=media\&token=b0b0fb9a-9daa-4e29-8d5f-50f12077f9c0)

| Event | Description                            |
| ----- | -------------------------------------- |
| Opens | Fires **anytime** the Screen is opened |

### when Screen1 BackButtonPressed

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAn5scXl2uqUJUOqkJo%2F-Lq6kxGxHZTvy-2jk25F%2F-Lq6l3YZabj6ZI-e1Dkf%2Fscreen%20back%20button%20pressed.png?alt=media\&token=2fe3ec8f-5c60-41e5-9a16-4d0f07642ea4)

| Event             | Description                                                                 |
| ----------------- | --------------------------------------------------------------------------- |
| BackButtonPressed | Fires when the physical or on-screen back button is pressed. (Android only) |

### in Screen1 call ToggleDrawerMenu

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAn5scXl2uqUJUOqkJo%2F-Lq6kxGxHZTvy-2jk25F%2F-Lq6l3YT0ddmB3YiYeez%2Fscreen%20toggle%20drawer%20menu.png?alt=media\&token=5af22194-bfa2-47eb-9d9a-c78d1fd71086)

| Function         | Description                                                                                                                                                 |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ToggleDrawerMenu | Opens or Closes the drawer menu, if available. Must be used in conjunction with the [Drawer Navigator](/~/changes/wHhkjLVeheBnfbpghRnw/drawer-navigator.md) |

## Screen-Specific Navigator Properties

When you add a Screen to a Navigator, you will see a new section for **Navigation Options** in your Screen's Properties panel. You can read about these properties in the [Top Tab Navigator](/~/changes/wHhkjLVeheBnfbpghRnw/top-tab-navigator.md#screen-specific-tab-navigator-properties), [Bottom Tab Navigator](/~/changes/wHhkjLVeheBnfbpghRnw/bottom-tab-navigator.md#screen-specific-tab-navigator-properties), and [Drawer Navigator](/~/changes/wHhkjLVeheBnfbpghRnw/drawer-navigator.md#screen-specific-drawer-navigator-properties) docs.
