You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/ff-concepts/adding-customization/configuration-files.md
+13-6Lines changed: 13 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,10 +41,11 @@ FlutterFlow provides two main ways to modify native XML files: [**Add Individual
41
41
42
42
For Android, modifications are typically made in the `AndroidManifest.xml` file, where you can add the following tags:
43
43
44
-
-**Activity Tags**: This injects code inside the `<activity> ... </activity>` block. You’d use this to declare an additional activity in an Android application. An activity represents a single screen with a user interface (UI). This tag can control the behavior, orientation, and themes, and determines how the activity interacts with other apps or system events.
45
-
-**Application Tags**: This injects code inside the `<application> ... </application>` block. You’d use this to configure `<meta-data>` entries, application-wide settings, declare app components like services, broadcast receivers, and content providers, and specify intent filters.
44
+
-**Activity Tags:** Inserts XML code inside the `MainActivity` block. This is typically used to add child XML elements within the MainActivity, such as `<intent-filter>` or `<meta-data>` to control aspects such as deep linking, theme application, or launch mode.
45
+
-**Application Tags**: Used to inject properties or attributes directly on the `<application>` tag itself. For example, you can use this to set values such as `android:icon`, `android:label`, `android:allowBackup`.
46
+
-**App Component Tags**: Inserts complete XML components inside the `<application>...</application>` block. Use this to add additional activities, services, broadcast receivers, or content providers that your app depends on.
46
47
47
-
To add a snippet to your `AndroidManifest.xml`, navigate to **Custom Code** from the left navigation menu, select **Configuration Files**, then choose `AndroidManifest.xml`. Click the **plus** (+) button next to either the *Activity* or *Application*tag—depending on where you'd like to insert the snippet. Provide a name (this will be included as a comment in the file) and paste your snippet code.
48
+
To add a snippet to your `AndroidManifest.xml`, navigate to **Custom Code** from the left navigation menu, select **Configuration Files**, then choose `AndroidManifest.xml`. Click the **plus (+)** button next to the tagwhere you want to insert the snippet. Provide a name (this will be included as a comment in the file) and paste your snippet code.
@@ -756,9 +757,15 @@ There's a known limitation where editing the `main.dart` file with Supabase enab
756
757
757
758
<details>
758
759
<summary>
759
-
How can I create a Library that needs to edit Info.plist / Entitlements.plist / AndroidManifest.xml
760
+
Can I modify the Configuration Files in a Library project?
760
761
</summary>
761
762
<p>
762
-
Right now, changes to the configuration files made in a Library project are not ported over to the projects that import them. This means if you create a Library that needs specific permissions added to these files, the consumers of your Library will need to edit the files in the project that imports the Library. We are hoping to have automatic import of changes to the configuration files available in the next few releases.
763
+
Yes, you can. When a Library Project is imported, any configuration file snippets, such as those for `AndroidManifest.xml`, `Info.plist`, or `Entitlements.plist` are automatically merged into the importing project's configuration files.
764
+
765
+
Additionally, your Library Project can pass values (like API keys) into those snippets using [**Library Values**](../../resources/projects/libraries.md#library-values), making it easy to customize.
This makes Libraries incredibly powerful and enables easy integration of tools like **PostHog** (analytics), **Sentry** (crash reporting), **CleverTap**, **flutter_local_notifications**, **flutter_nfc_kit**, and many more directly from the Marketplace.
Copy file name to clipboardExpand all lines: docs/ff-concepts/adding-customization/custom-code.md
+5-6Lines changed: 5 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ While FlutterFlow provides a wide range of pre-built components and functionalit
14
14
times when you need to extend your app with custom logic or UI components that are not available out of the box.
15
15
This is where writing custom code comes into play.
16
16
17
-
There are a few different ways to make custom code accessible in FlutterFLow:
17
+
There are a few different ways to make custom code accessible in FlutterFlow:
18
18
19
19
***[Custom Functions](custom-functions.md):** Custom Dart functions that can be used to set Widget or Action properties.
20
20
***[Custom Actions](custom-actions.md):** Custom Dart functions that can be triggered by [Action Triggers](https://docs.flutterflow.io/resources/functions/action-triggers/) or used as nodes in an [Action Flow](https://docs.flutterflow.io/resources/functions/action-flow-editor#action-flow-editor). These are usually `async` functions and are able to import [custom package dependencies](#adding-a-pubspec-dependency).
@@ -117,11 +117,10 @@ Compiling Custom Functions should be pretty fast, but sometimes, compiling Custo
117
117
The code analyzer is available in all your custom code snippets and ensures the quality and
118
118
correctness of your custom code. It automatically checks your Dart code for errors and warnings,
119
119
providing real-time feedback as you write.
120
-

121
120
122
-
When there is a compilation error, the codeanalyzer will stop running and display the errors caught
123
-
by the compiler. Once fixed, save the code and rerun using the Compile Code button. The code analyzer
124
-
should then be reconnected. You can also manually reconnect it if needed.
121
+

122
+
123
+
When there is a compilation error, the code analyzer will stop running and display the errors caught by the compiler. Once fixed, save the code and restart the code analyzer to resume real-time analysis and receive feedback on updated code.
125
124
126
125
### Automatic FlutterFlow Imports
127
126
@@ -523,4 +522,4 @@ If any project errors related to packages arise, they will be displayed in both
Copy file name to clipboardExpand all lines: docs/ff-concepts/design-system/design-system.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -731,7 +731,7 @@ Make sure you have the proper rights or licenses to use the icons in your applic
731
731
732
732
**Steps to Generate and Add Custom Icons**
733
733
734
-
1. Head over to the [iconmoon](https://icomoon.io/app/#/select).
734
+
1. Head over to the [IcoMoon](https://icomoon.io/app/#/select).
735
735
2. Import your custom icon (.svg) or select from the free icons set.
736
736
3. Select the **Generate Font** tab.
737
737
4. Click on the Settings button (gear icon) beside the download text on the bottom right side.
@@ -836,7 +836,7 @@ If you prefer watching a video tutorial, here is the guide for you:
836
836
837
837
Creating a theme for widgets ensures that your app looks consistent and has a cohesive design. The Theme widgets can be reused, making it easy to update the styles of your app. If you decide to change any property of the widget, such as color scheme or fonts, you can update the theme widget instead of going through every widget individually. This can save a lot of time and effort, especially in larger projects.
838
838
839
-
For example, creating theme widgets for different types of buttons such as 'primary_button', 'secondary_button', and 'tertairy_button' with specific attributes like width, color, icon, border radius, and padding. Then, these widgets can be directly added to a page or applied to an existing widget.
839
+
For example, creating theme widgets for different types of buttons such as 'primary_button', 'secondary_button', and 'tertiary_button' with specific attributes like width, color, icon, border radius, and padding. Then, these widgets can be directly added to a page or applied to an existing widget.
840
840
841
841
### Adding theme widgets
842
842
@@ -1000,4 +1000,4 @@ If you prefer watching a video tutorial, here's the one for you:
1000
1000
<details>
1001
1001
<summary>How is the theme widget different from creating a template and component?</summary>
1002
1002
<p>The Theme Widget allows you to customize the visual appearance of a single widget, whereas templates consist of multiple widgets that create a unique UI layout with a specific purpose. On the other hand, components are fully-featured custom widgets that combine multiple widgets and actions to complete a task.</p>
Copy file name to clipboardExpand all lines: docs/ff-concepts/localization-accessibility/accessibility.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -144,6 +144,25 @@ The **Focus Traversal Group** defines a context or scope for focus traversal, an
144
144
145
145
:::
146
146
147
+
## Update Text Scaling Factor [Action]
148
+
The **Update Text Scaling Factor** action in FlutterFlow allows you to dynamically adjust the text size across your app during runtime. This is particularly useful for improving accessibility by letting users control the size of the text without having to manually change system settings.
149
+
150
+
Imagine you have a "+" and "-" button on a page to help users adjust text size. When the user taps the "+" button, the text scaling factor increases by 1, making the text larger. Tapping the "-" button decreases the text scaling factor by 1, making the text smaller. Additionally, a Reset button can be provided to return the text scaling back to its default value.
151
+
152
+
:::info
153
+
154
+
This action works in conjunction with the [**Display Settings**](../../resources/projects/settings/general-settings.md#display-settings) configured at the project level, such as **Min Text Scaling Factor** and **Max Text Scaling Factor**.
155
+
156
+
:::
157
+
158
+
When configuring the Update Text Scaling Factor action, you can choose from three update types:
159
+
160
+
-**Set Value**: Directly assigns the text scaling factor to a specific value.
161
+
-**Increment/Decrement**: Adjusts the current scaling factor by a specified amount. A positive value increases scaling, and a negative value decreases it.
162
+
-**Reset**: Restores the text scaling factor to the project's default setting.
You can use the [On Shortcut Press](../../resources/ui/pages/page-lifecycle.md#on-shortcut-press-action-trigger) action trigger to bind keyboard shortcuts to specific actions. This makes it easier for users with disabilities to navigate your app, especially in web and desktop environments.
0 commit comments