[Free / Open Source] - Dynamic Components Extension (for all AI components)

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 a full method to create all dynamic components without creating different blocks for every component, but 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.


Version 1.2.1
com.yusufcihan.DynamicComponents.aix (13.4 KB) (v1.2.1)

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


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

- Yusuf Cihan


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!


helal olsun (özellikle Türkçe yazmak istedim)


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.