MIT App Inventor and 100+ esp32, how could I do this?!

The only method is to make a list of components to which you want to apply the formatting. If you have different formatting for the same component type, you need to make several lists. Alternatively, you can make two large lists. One list contains the components, the other list contains the component names, in the same order. Then, using indexing, you can retrieve the name for a given component, or component by name.

@Patryk_F I "encode" in the name of HorizontalArangements that interest me to have external borders, the expression "EXT" and the real ID-cell - ex:113 - as I want it on the layout.

Now I want to simply check, all HorizontalArangements for the "EXT" and if it has "EXT" - draw borders.

I tried simply "contains / text / piece", doesn't work.
Now I look on the internet how can I make it...

I put a label after the list to see what's insight... I see only UFOs. That was my problem with the TIMAI2 dynamic approach, I don't know what is in the (some, like this) lists. I can't "service" what doesn't work if I can't see them.

EXT.aia (47.2 KB)

As I said above, if I have only one example, I can have a solution...

As I wrote above, it is impossible to return the name of the component used in the designer in the code. There is simply no way to do it and it won't work.

Instead of using the "every" block, you must manually create a list of the arrangements you want to modify.
Do an experiment and see what the "every" block returns, displaying its contents in any label.

Do you mean, manually add 128 HorizontalArrangent to a list?!

This is not a problem.

Yes, the ones you want to modify, with Ext in the name.

Thank you very much, don't fit on the screen, I must split it into a few pieces... :rofl:

It's too much work to add more than 120 cells in the designer view.
The simple way is to use the dynamic extension.
So which part of the CompCreator you do not understand?

Basic logic is :

  1. create a component,
  2. save it to a varialbe for later use,
  3. set it's properties
  4. add any click event if you want.
  5. if this component is a container, you can add more child components inside it.
  6. make 1-5 as a procedure, then you can loop to create more cells.

Thank you @Kevinkun. This is an . aia made following the logic and rules from the TIMAI2 example.

USLayout_dynamic.aia (141.3 KB)

This is the original TIMAI2 example.

dbScreenDynV1.aia (60.2 KB)

I follow the TIMAI2 example and I understand the logic. But... At a moment I needed to inverse and mirror the Cells-ID. That wasn't on the TIMAI2 example. I try many logic from examples from the web, but I can't. I have only the logic and the documentation on the web, I don't have the culture in AI@ tools, methods in a word experience in AI2.

TIMAI2 was "insulted" by simple black humor at my address joke, so... It doesn't want to help anymore. TIMAI2 can finish my .aia in 5 minutes but doesn't want.

So... If you look in my .aia above, the only way that I saw (from a logical point of view), was to make from the start a "reverse table" and as the cels are generated, in place to put the numbers in ascendent order... Select from the reverse table already made the index with the corresponding reverse counting number. In the same time, must "mirror" left to right the Cells - ID. In fact, I need the number 1 to be bottom-left and 128 to be right-top.

I understand much about your extension, it's a very useful extension but... It must be used by guys that know AI2. I don't know AI2. :frowning_face:

Thank you, Dan

simple demo for id of labels and reverse order.

this line can make the component move to the first place in its container.

Impressive, thank you @Kevinkun.

That has opened new horizons for my dynamic layout. Let me try to combine what you show me here with what TIMAI2 shows me on his . aia to see if I can finalize the layout with those two sources of inspiration.

Thank you again KevinKun.

As usual, I start with errors. I may have the wrong extension?

maybe, try download a new one and update it.
disconnect your companion and reconnect.

If something will k*** me... It will be the companion. I disconnect it and reconnect it and it works.

Thank you very much, now at work...

So... I can say one thing... IT HAS NOT CRASHED ANYMORE (until now) THE COMPANION!!! WAW!!!

The speed render speed is the speed of light on the 3K/13" tablet!

The difference that I see at first view between the two examples, TIMAI2 and Kevinkun, is that Kevinkun uses a procedure. Can this be, the cause of Companion crashes?!

Anyway, I have the basic layout!!! But I'm stuck and I don't want to make something wrong and lose my mind one more time...

Now Here I'm stuck. I want to display the labels on the first red rectangle, I try this approach and I don't see the label. The label exist and is hidden or the label doesn't exist?!

If doesn't exist, and it doesn't give me an error, is the wrong approach? I must use lists?!

Thank you very much @Kevinkun for this help, it is priceless. In fact... Who can use it better than autor... This extension?!

the internal 2 'for loop' not needed.
I am not with my computer now, can not make example blocks.

I'll be waiting, no problem, thank you.

as I said, remove "for each number from 1 to 16" and "for each number from 1 to 3" first, if you want to use my method.

And how can I achieve that design that I have now?! The goal is not only to display the labels in the order you perfectly generate and display them, the goal is to display various labels' insight into every cell.

The goal is to display that label that you perfectly number it (in the right order) into the red small cell (first small cell), after that, displaying other information in the other 2 cells that already I have, after that, I must build another small cells into every big cel.

Can I generate those small cells in another way?!

that screen is correct until now, I must add more cells into every big cell.

For that reason now I want to display the labels that create the ID for all cells first.

read this and follow this.

create components from outside to inside, from left to right, from top to bottom.
forget about how to decorate them to make them looks good,but create them and show them on the screen first.

Thank you @Kevinkun, that I already understand, generating the layout with your extension is an easy and beautiful task. My problem is how can I use the numbers that you already generate as labels on the red (first left top) small cell?!
That problem I must solve now.

If I solve that problem, I will generate more small cells, as I need. In other small cels will be labels that will display other info. that came over Bluetooth or wifi.

My problem now... is how to display those labels that you have in your example. I must create some lists?! Where and how?!

This is my problem