Other Basic4android v3.20 BETA is released

Erel

B4X founder
Staff member
Licensed User
Longtime User
I'm very happy to release B4A v3.20 BETA :)

This version includes many important improvements:
  • Visual designer
    • Anchors feature - makes it easier to target multiple screen sizes.
    • Copy & paste - work both inside the layout or between different layouts.
    • Undo / redo feature.
    • The views are organized in a tree for easier navigation.
    • AutoScaleAll keyword now works with all variants, not just the "standard" variant.
    • Colors fields can be copied and the colors values can be pasted or directly typed.
    • Designer script find / replace dialog.
    • The grid is saved in the layout file.
    • Landscape / Portrait designer keywords to test the current orientation.
    • UI Cloud threshold reduced to 10 seconds.
  • #AdditionalRes attribute - Makes it possible to wrap Android library projects (projects with resources).
  • Sync button in the Files tab - Syncs the project files with the Files folder.
  • Modules added to the Find Sub / Module tool (Ctrl + E).
  • Tabs order in the IDE is preserved.
  • Modules files that were not modified will not be saved thus preserving the correct time stamp.
  • DateTime.SetTimeZone now accepts a Double instead of Int.
  • Shortcuts: F11 - Restart (rapid debugger), F2 in the designer connects to the device.
  • Bug fixes and other minor improvements.
Notes
  • RerunDesignerScript is now considered a deprecated method. It will continue to run as before. However it doesn't support the new anchors feature and will fail when running in Rapid debug mode.
  • Layout files saved with v3.20 cannot be loaded with previous versions.
Make sure to backup your projects before loading them with the beta version.

Users who are eligible for a free upgrade should receive an email with the download link. Please post any issues in the forum, preferably with the BETA prefix.
 
Last edited:

Dario126

Member
Licensed User
Longtime User
I just seen announcement for this new release. Regarding visual designer I think that visual designer and abstract designer should be connected somehow (move together, open together, etc.) or even joined into one window (trees, properties editor, menus from v.d. move to a.d.).

Also more importantly would like to see some better support for scrollview or scrollable panel (implement "inner height"). So that user can during design time scroll through that control and put new controls on that trough complete virtual height. Maybe You can implement that controls can be put directly on scrollview?

Question: is this anchoring usable also by code? When adding new controls (view) onto some panel, define height of first control, anchor another bellow, and if I change height of first one, everything bellow moves accordingly?
 
Upvote 0

arjian

Member
Licensed User
Longtime User
thanks for new version,but there is a problem

When I use Emulator with Android 2.3 or lower it works fine but with higher version I cant see border of some views (for example Spinner, EditText) in emulator and real device as you see in attached file
 

Attachments

  • ViewsBorder.png
    ViewsBorder.png
    11 KB · Views: 478
Last edited:
Upvote 0

corwin42

Expert
Licensed User
Longtime User
The #AdditionalRes feature is my favorite of this new version. :)

The possibility to use Android library projects with resource files is absolutely great! Thanks very much for this feature
 
Upvote 0

JakeBullet70

Well-Known Member
Licensed User
Longtime User
The Find and replace in the designer seems not to be working.
If you use it, it's working in the code in the current class / module behind the designer?
Anyone else see this?
 
Last edited:
Upvote 0

JakeBullet70

Well-Known Member
Licensed User
Longtime User
Generating member from the designers only seems to work in Activity modules?
Is this right?

I use to be able to do this is a class.
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
thanks for new version,but there is a problem

When I use Emulator with Android 2.3 or lower it works fine but with higher version I cant see border of some views (for example Spinner, EditText) in emulator and real device as you see in attached file
This is how EditText looks in Android 4 (holo theme). You can change the theme in the designer to see the differences.

@JakeBullet70 you are correct. There two bugs will be fixed. Thank you.
 
Upvote 0

qsrtech

Active Member
Licensed User
Longtime User
I'm very happy to release B4A v3.20 BETA :)

Anchors are pretty big improvement. Not sure if this has been asked yet but is the attached images by design (i.e. buttons overlap in real time)? My expectations would have been that the two buttons would have maintained the space between them, albeit perhaps somewhat scaled. Note the activity is the parent.
 

Attachments

  • realtime.jpg
    realtime.jpg
    77.9 KB · Views: 434
  • Designer.jpg
    Designer.jpg
    31.7 KB · Views: 446
Upvote 0

amer7862000

New Member
Licensed User
Longtime User
hi erel,

i have a b4a license but im not sure if i'm eligible for upgrade, could i ask up to what version do i have a license for?

thanks,
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
@qsrtech you will need to anchor one of the buttons to LEFT or RIGHT instead of BOTH. When you horizontally anchor the button to BOTH you are forcing the distance between the left side of the button to the left edge of the screen and the distance between the right side of the button to the right edge of the screen to stay constant. If the screen is wider then the buttons will overlap.
You can easily see it with the abstract designer by changing the abstract layout to a larger size.
 
Upvote 0

moster67

Expert
Licensed User
Longtime User
What does this exactly mean?

AutoScaleAll keyword now works with all variants, not just the "standard" variant.

Using beta 3, I have noted that a few layouts/screens scale differently. This is happening on a Nexus 7 device but not on Samsung S3. I attach a screenshot from my Nexus 7 that shows the differences. The part at the top (General Settings) and the part at the end (Authentication Settings) have become smaller while the part in the middle (Connection Settings) is correct.

This activity uses thedesolatesoul's Expandable Panels class found here: http://www.b4x.com/android/forum/threads/class-expandable-panels.27366/#content and generates these panels using 4 different layouts (bal-files) of which 3 are shown in the screenshot.

The only post-processing of the panels (after the bal layout file has been loaded) is setting the minHeight of the panel and adding a NinePatchView as follows:

B4X:
If GetDevicePhysicalSize > 9 Then
                expPnls(0).minHeight = 90dip
            Else
                expPnls(0).minHeight = 76dip
            End If
            SetNinePatchView(expPnls(0).AsPanel ,"search_bg_shadow")

I also attach the 3 bal-files.

This used to work fine but with latest beta I get this layout/scaling issue. I don't think the class has anything to do with it but perhaps the AutoScaleAll-keyword does?

Is this a bug or do I need to change something to get this working again?
 

Attachments

  • actprefgeneral.bal
    7.1 KB · Views: 439
  • actprefconnection.bal
    10.6 KB · Views: 421
  • actprefauthentication.bal
    5.7 KB · Views: 417
  • layout1.png
    layout1.png
    132.4 KB · Views: 431
Last edited:
Upvote 0

qsrtech

Active Member
Licensed User
Longtime User
Please try and leave the "view list" item that is selected with the highlight color when the list has lost focus.Thanks
 
Upvote 0

qsrtech

Active Member
Licensed User
Longtime User
Oh sorry I know in Delphi you can turn it to stay highlighted(active) when it loses focus. Otherwise it's agreat addition. Again though we definitely need the two designer windows merged. (And preferably with the ide) When I have 4 or 5 IDE'S open it can be a real challenge to get to the right designer.

Also, I'm finding when using bridge and Anchors that the views almost resize to zero on the device. Designer is fine and Once running everything looks fine.
 
Last edited:
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Also, I'm finding when using bridge and Anchors that the views almost resize to zero on the device. Designer is fine and Once running everything looks fine.
I guess that you are not running the latest beta version (beta 3). This issue should have been fixed.

You can also uninstall B4A Designer from the device and then let B4A-Bridge install it when it reconnects. It will install the new designer that supports anchoring.
 
Upvote 0

moster67

Expert
Licensed User
Longtime User
Using beta 3, I have noted that a few layouts/screens scale differently. This is happening on a Nexus 7 device but not on Samsung S3. I attach a screenshot from my Nexus 7 that shows the differences. The part at the top (General Settings) and the part at the end (Authentication Settings) have become smaller while the part in the middle (Connection Settings) is correct.
--------------------------------

Erel, just wanted to confirm that using:

B4X:
Dim jo As JavaObject
    jo.InitializeStatic("java.lang.System").RunMethod("setProperty", Array As Object("autoscaleall_old_behaviour", "true"))

to preserve the "old" behaviour did indeed resolve my above mentioned problem with B4A 3.20.

As always, many thanks for your support.
 
Upvote 0
Top