[F/OS] - Dynamic Components Extension (for every component) 2.1.0


🧱 Dynamic Components Extension

that supports every component in your AI2 distribution, instead of having pre-defined components.

I thought about making a full method to create all dynamic components without creating different blocks for every component because it would be useless. So I was trying to find a proper solution for a long time. And here it is!

The minimum required API version for this extension is 1 .

It basically uses Java’s Reflection feature, so this allows you to create ANY component you want dynamically which added to your AI2 distribution. Not only a Button, but you can also even create a DatePicker dynamically. Just type the component’s name which you want to create, that’s it! :star_struck:

What is the reflection and how does it work?

Reflection (in programming) allows you to modify the program during runtime, for example, you can create a new Class, Method, etc. and search them by its names!

Basically, it appends componentName parameter to the com.google.appinventor.components.runtime. text and creates an instance of it. When you type “Button”, it searches for Button class and creates an instance of it.

So with this method, it is now a fully implemented dynamic component extension.

I must say Java is a powerful language :grin:


🧩 Blocks




FAQ

  • How can I set the properties for the blocks?
    You have two options and both does the same job:

    • SetProperty
      image
    • or Any Component
      image
  • How can I delete all components?
    Use a for-each loop for that.
    image

  • How can I make my own Schema template?
    Thanks for being interested in making a JSON template for the extension. You can go to the Wiki section of Dynamic Component’s repository to learn how to create yours.
    Creating Templates - DynamicComponents-AI2 Wiki

  • Is extension works asynchronously, or synchronously?
    It works synchronously. I explained why it works synchronously in this post.
    Now you can toggle between asynchronously or synchronously with the Async property!

  • App takes a lot of time to create components that uses Image components, how can I fix it?
    Replace your existing set Image.Picture components with the Image Utilities component.
    If you don’t use Kodular, you can use an extension to load images asynchronously.

  • How much time it takes to create components?
    I created more than 10 000 components and calculated how many seconds will it take to finish creating. Here are the benchmark results.


📕 Showcase

What projects made with this extension in the community? Here is a list below. Just mention me, PM me, or link this topic in your topic to get your project showed listed here!

Show projects

Here is the list of projects that use the Dynamic Components extension. Ordered chronologically.

Note that these projects belong to their original posters, I’m not affiliated with these projects in any way.


📂 Download

Version 2.1.0
com.yusufcihan.DynamicComponents.aix (29.3 KB) (v2.1.0)

Looking for old releases and changelog? Check it from here.


GitHub

You can report bugs, download old releases, contribute the code, and do more from the repository! The code is licensed with MIT license, as said in README.md and LICENSE files.

Donate on Patreon

Creating a donation page didn’t and won’t prevent me from making free and open source stuff, never. I will continue what I do as always, with donations or without them. However, if you like my content, you can support me on Patreon and access some benefits as the exchange of your donation. Thanks for being interested :smile:

image


You can post in topic for help, a question about this extension or PM me anything about you want to talk!

- Yusuf Cihan

116 Likes
Dynamic CardView Template
Horizontal Dynamic Layout
#CinelarTV, a digital streaming platform
5 Different Listviews using Dynamic component Extension | Guide
Dynamic Button - Create Oval Button?
Simple Dynamic slider with animation using free extensions
Custom Dynamic Circular Image Icon List
Dynamic label help
Dynamic Shopping Item Cards Template
Custom Search Bar with Simple & Dynamic Listview | Guide
How to create Dynamic View Pager| Guide
How to Create Any Design Using Dynamic Components Extension
WhatsApp like list
Image viewer app
Load Items when User Scroll [Advance & Unique]
UI/UX for Delivery App
Help For Dynamic Component
Kodular Community App (Unofficial)
How can I create this match design with dynamic omponent
How to add vertical arrangement with button
Fantasy Cricket App with Admin pannel
Dynamic Real Estate App Design | Simple And Clean UI
How to get three corner chat bubble?
Three Dynamic buttons in a horizontal manner
Create sprite from code
Daily Challenge - 91 (UI Challenge - 2)
D Wallpapers 2.0 🔥
Gallery App - problem
Vertical arrangement limit
Load items as user Scrolls
Help For Dynamic Component
View Flipper Clickable
Image does not appear when installed on another phone
How can I create a Dynamic component inside another dynamic component?
Need help to solve error in Dynamic CardView
Any idea for multiple progress bar?
Dynamic cardview and airtable with several columns
Horizontal scroll like playstore
Colintree procedure help
Draw in-app i need your support in this regard
Is it possible in kodular to show a different content in different countries
[FREE] Image Loader - Extension for image loading and caching
Index of Available Extensions
Font Awesome 5 in block section
Video player extension help
What is the alternative of Custom ListView deephost extension
How to change button text fount typeface using block?
How to use dynamic tools in kodular
OnClick method for Dynamic Label
OnClick method for Dynamic Label
Making of drop down list
[Discontinued] Dynamic Arrangements Extension v2
Help develop grid view
[Discontinued] Dynamic Arrangements Extension v2
Block alignment need it
Need New Listview Extension
How to add a Horizontal Arrangement contains 4 lables with button click
How to add asyncimageloader with my block?
Create a text field extension for a canvas
How to make a online private bar graph for each user of the application?
DragAndDrop Extension
Feedback: Focus on scaling the Dynamic Component's usability
Getting error in creating dynanic horizontal arrangement in dynamic card view
Dynamic image help
Add webviewer in dynamic card
[Discontinued] Dynamic Arrangements Extension v2
Can't set text on Dynamic Button "On App Resume"
Needed help regarding dynamic button
Cloudinary doubts
Dynamic image Scale picture to fit block not working
Table List of Products with database
Too many buttons and labels on one screen?
Companion Crashing a lot?
A guide to manipulate a list of lists (...of lists)
Help me to creat this type of list view in my app
Dynamic Image view
How to create image sprite by clicking button
Custom Listview
How can i set border shadow of a dynamic button?
Quizzer - Create or Join Online Test
Get the Parent Component/ Layout of a Button?
Dynamic card view where problem for showing different types of Images
Runtime Error in Dynamic Components Extension
Why size dynamic button shows wrong when running app?
How to delete a button made with dynamic components, by click in it
Horizontal arrangement in dynamic card view
Add a fixed label between the dynamic component
Font size in dynamic card view
How to set any label to HTML format?
Add Checkbox (SubList)
App, with many blocks, helps
Get Data from Airtable
Rating bar in Dynamic Card View for user's publications
Scores and Markers APP on :google_play: [v 1.1]
How I set more than one image sprite on canvas
Add item on top in an scroll arrangement dynamic list
How to make on screen folder?
Shadow in dynamic buttons?
Arbitrary Number of Horizontal Arrangements with Checkbox and Button [SOLVED]
Reorder the UI component list or indeed the order of any component list?
How can i create multiple dynamic cardviews
How to create dynamic button in dynamic cardview?
How to set image of dynamic button?
Dynamic card view - Gradient Background
How to this data list card view
How to Make App like deep host
Expandable List View
5 Different Listviews using Dynamic component Extension | Guide
[FREE / Open Source] ZipFile - Read ZIP contents without extracting
Dynamic cardview showing blank
How to create and delete dynamic card view via unique value
Dx Stage Error (I cannnot export)
What are Dynamic component?
Attempt to read from null array
More then one picture in each line of a listview

Now That’s a Real Dynamic Component Extension :+1:

14 Likes

Absolutely right @Abhijith_Dominic,
For me it is the best Extension :ok_hand: :ok_hand:

7 Likes

Nice extension. Keep up the good work.

6 Likes

thanks for making this extensions :sweat_smile:

5 Likes

The components in MiTApp inventor do not have many features like you cannot change the font of button or lable, so what can we do with the help of this extension ?

3 Likes

Good Job! Way to go!

4 Likes

Good joob, and thanks!

5 Likes

This post was flagged by the community and is temporarily hidden.

7 Likes

it’s really amazing :heart_eyes: :heart_eyes:

4 Likes

I don’t like Discourse anymore… Because it doesn’t let me give 100 likes to a post!!! :star_struck:
Excellent job @yusufcihan!!!
I’ll check it with the update to my brick breaker game and see how it handles creating 238 sprites for the bricks (The current version has 70 bricks total).
I know is a lot, but since they are all static, I think it will not be a problem.

19 Likes

You can’t in App Inventor (not Inverter) but you can in Kodular. With this extension you can create components at runtime instead of creating them in the designer. And you can change the properties of those dinamically generated components by using the Any component blocks.

10 Likes

Can we create dynamic banner ads with the help of this extension?

4 Likes

Does the Remove block, actually removes the component completely from memory?

4 Likes

How can i edit component
can i edit it with “Any Component” feature in blocks

3 Likes

Kodular is now 60% of Android Studio
10% for more features
20% for background working
10% bugs

7 Likes

Yep, it removes from layout (not hide) and removes its ID from created component list. So you can create a new component with same ID.

9 Likes

Yes. You need to use Any Component blocks for editing the components.

I love this reaction :rofl: Thank you! :smile:


By the way, thanks for your interest about this extension, you all made me happy! :blush: Let me know if you need another thing which is not implemented in App Inventor yet. I’d love to create new possibilities for everyone. :grin:

16 Likes

Can we make an cardview with that

4 Likes

Edited: Yes, just use MakeroidCardView name.

9 Likes