[FREE / Open Source] - Dynamic Components Extension (for every component)

Hi, I want to introduce my new extension which allows creating components dynamically!

But, you may ask;
“There is an already bunch of different Dynamic Components extension, why did you create another one?”
Because this one is different!

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!

It basically uses Java’s Reflection feature, so this allows you to create ANY component you want dynamically which added to App Inventor (includes Kodular components too if you use Kodular). 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:



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

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


There are some projects from other people on the community that use the Dynamic Components extension. Just mention me, PM me, or link this topic in your topic to get your project showed listed here!

Note that these projects belong to their original posters.


Version 1.3
com.yusufcihan.DynamicComponents.aix (16.4 KB) (v1.3)

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


You can report bugs, download old releases, contribute the code and do more from the repository!

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

- Yusuf Cihan

Dynamic CardView Template
#CinelarTV, a digital streaming platform
Horizontal Dynamic Layout
Dynamic Button - Create Oval Button?
Dynamic label help
5 Different Listviews using Dynamic component Extension | Guide
Help For Dynamic Component
UI/UX for Delivery App
How to add vertical arrangement with button
How can I create this match design with dynamic omponent
Help develop grid view
[Discontinued] Dynamic Arrangements Extension v2
Block alignment need it
Needed help regarding dynamic button
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
Three Dynamic buttons in a horizontal manner
Create sprite from code
Dynamic image help
Custom Dynamic Circular Image Icon List
[Discontinued] Dynamic Arrangements Extension v2
Can't set text on Dynamic Button "On App Resume"
Add webviewer in dynamic card
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

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


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


Nice extension. Keep up the good work.


thanks for making this extensions :sweat_smile:


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 ?

Good Job! Way to go!

1 Like

Good joob, and thanks!


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


it’s really amazing :heart_eyes: :heart_eyes:

1 Like

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.


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.


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

1 Like

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

1 Like

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

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

1 Like

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.


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:


Can we make an cardview with that

1 Like

Edited: Yes, just use MakeroidCardView name.