Older posts can be found here.
New year and it is finally time for another Titanium News post! Lot's of work during the last blog post and Titanium SDK is now already at version 12.6.1.GA. So let's find out what's changed.
In the last Titanium News #19 I've covered all 12.4.0.RC features that made it into the final version.
Version 12.5.0.GA came out on Sept 16h 2024 and added support for iOS 18 and Xcode 16.
you can use window.statusBarColor now on Android to change the statusBar color with code
iOS adds interactiveDismissModeEnabled to dynamically close a window by using a swipe gesture across the whole window
ioslib was updated to support the new Xcode provisioning profile folder and fixes incremental builds
With Ti 12.6.0 release notes you are now able to use module that use Gradle 8. So feel free to update your modules now!
If you update your modules make sure to set minsdk: 12.6.0.GA in the manifest files as newer modules are compiled with JAVA_17 now instead of JAVA_11. That way you'll make sure that older SDKs won't load your module and not throw a Java error when building your apps. To make sure your module works in older SDKs you can build your module with ti build -p android -b --sdk 12.5.1.GA.
Other changes include:
gradle build cache is enabled for Android builds
the content of an Android WebView will fill up the whole height by default now
small rotation fixes for CameraX rotation (open the camera with useCameraX: true)
a fix when you start you Android app from the home screen or play store
For all changes and code examples make sure to check the release notes and the linked tickets.
One change is already merged into the master branch (12.7.0): an update to the Material library. This means that you can build Android modules now that threw this error before:
Error: Can't determine type for tag '?attr/shapeAppearanceCornerSmall'
One of those modules was titanium-stripe. As a first test I've updated that module https://github.com/hansemannn/titanium-stripe/pull/5 to use a newer version (Stripe 20.53.0 from October). They've raised some other libraries after that so it's not the latest library yet ?
So if you had a library that threw the macro error you can use a nightly build of Titanium SDK and build your modules with that. To do that you run ti build -p android -b --sdk 12.7.0 in your modules /android folder.
BottomNavigation improvements
Another PR I'm currently working on is to improve the BottomNavigation on Android. There is currently a small height bug when you use it with Material 3. The new experimental implementation is based on a XML layout and removes the height issue. It will also follow the Material guidelines and show only one active window and you can use a icon font for the tab icons right away. Some images and videos are available in the pull request.
Dynamic Android icons
Ti.App.Android.changeIcon({ from: "default", to: "red" });
I also made a test pull request with a demo how to change the Android app icon at runtime. iOS has for this.
There are many more smaller bugfixes and code improvements. So make sure to browse through the https://github.com/tidev/titanium-sdk/pulls section.
If you have feedback or some interesting Titanium SDK apps, modules or widgets you would like to share: get in contact with me or leave a comment and I'll add it to the next Titanium news.
The above is the detailed content of Titanium News #20. For more information, please follow other related articles on the PHP Chinese website!