NeoMAD 3.7 release notes¶
November 17, 2014
New features¶
Starter Version¶
A new type of license has been introduced: “Starter version”.
Users of the starter version can use all the features of NeoMAD described with some restrictions:
- the only available platforms are iOS and Android
- a splash screen with the Neomades logo will be inserted at the launching of all the produced applications
- the “specific code” feature is not available (see Platform specific code)
Prefer a full version to be free of these restrictions.
SlideScreen¶
A new com.neomades.app.SlideScreen
screen allows to create applications with sliding menus
like those made popular in the Google+, YouTube, and Facebook apps.
With this screen you can create 3 types of sliding menus:
- slide menu with right menu only
- slide menu with left menu only
- slide menu with both left and right menus
In this version the SlideScreen
is available only for Android and iOS. Next version will support
other platforms.
Animations¶
The Animation
API (defined in the com.neomades.ui.animation
package) enables view timeline animation. An example AnimationExample
has been added to show how to use this API.
Gestures¶
The Gesture
API (defined in the com.neomades.gesture
package) enables recognition of specific touch gestures like drag, pinch, tap.
In this version the Gestures
are available only for Android and iOS. Next version will support
other platforms.
Contacts¶
The Contact
API (defined in the com.neomades.contact
package) allows to pick a contact from the address book in order to edit it.
VideoView¶
A new com.neomades.ui.VideoView
control allows to show and manage a Video track.
In this version the VideoView
is available only for Android and iOS. Next version will support
other platforms.
RichTextLabel¶
A new com.neomades.ui.RichTextLabel
control allows to display text from HTML string.
In this version the RichTextLabel
is available only for Android and iOS. Next version will support
other platforms.
Pull to refresh¶
A new com.neomades.ui.listeners.PullToRefreshListener
listener allows to show a “Pull to refresh” control in ListView
.
In this version the “Pull to refresh” is available only for Android and iOS. Next version will support other platforms.
MapDirectionRequest¶
A new com.neomades.maps.MapDirectionRequest
class allows to display route using the system map application (Google Map,
Bing Map, iMap…).
ZoomView¶
A new com.neomades.ui.ZoomView
control allows to display, zoom (with pinch-to-zoom) and scroll a nested view.
In this version the ZoomView
is available only for Android and iOS. Next version will support
other platforms.
ProgressBar¶
A new com.neomades.ui.ProgressBar
control allows to display a progress indicator.
In this version the ProgressBar
is available only for Android and iOS. Next version will support
other platforms.
Android version management¶
For Android targets, three new attributes are now available in the URS: minSdkVersion
, targetSdkVersion
, maxSdkVersion
.
By default, minSdkVersion
has 8 value, targetSdkVersion
has 14 or later (depends on your Android SDK installation),
maxSdkVersion
is undefined. To change theses values, the URS file should specify part as follows:
<specific>
<android minSdkVersion="8" targetSdkVersion="14" maxSdkVersion="15" />
</specific>
Third-Party Libraries¶
It is now possible to edit URS specific-code properties in order to insert third-party libraries for iOS (.framework, .dylib, .a) or Windows (.dll).
A new <specific>
tag allows to set properties by platform.
Minor features¶
- In
TextLabel
, the newsetMaxLines()
method allows to set a height limit. - In
TextField
, the newsetReturnKeyType()
method allows to set aSearch
button instead ofReturn
. - In
TextField
, the newsetReturnKeyListener()
method allows to listen clicks from theReturn
key of the keyboard. - In
HorizontalListView
, the newsetPagerMode()
method allows to enable aViewPager
effect in the control. - In
AbsListView
, the newsetFadingEdgeEnabled()
,setFadingEdgeColor()
,setFadingEdgeLength()
methods allow to customize edges with fading colors. - In
TabScreen
,TabLayout
, tab texts keep the native case (e.g. in Android tabs have upper case, in Windows Phone PanoramaItem text have lower case.
Deprecation¶
ANDROID22
toANDROID44
targets have been depreciated and will be removed in the next version of NeoMAD. Please use theANDROID
target instead. If you need to target a specific version of Android, please use the newminSdkVersion
,targetSdkVersion
andmaxSdkVersion
parameters that are now available in the URS.- The
TargetInfo.WINDOWS_PHONE_7
constant has been removed (useTargetInfo.WINDOWS_PHONE
instead). - The
TargetInfo.ANDROID_MINIMAL_VERSION
constant has been removed. - The
TargetInfo.ANDROID_MINIMAL_API_LEVEL
constant has been removed.
Compatibility changes¶
For IPHONE, IPAD and IOS targets, the source code in the generated Xcode project is now organized in folders
corresponding to the Java packages of your NeoMAD project source code.
If your existing project uses specific code for iOS, either rearrange the files located in specific-impl/ios
in dedicated package folders or use the packageFolderDisabled
option in the URS to ensure backward
compatibility, as follows:
<specific>
<ios packageFolderDisabled="true" />
</specific>
Fixes¶
- Fix the -z command line option when the path of the NeoMAD project contains whitespaces.
- iOS
- Fix memory leaks
- Improve memory management when screens are popped
- Fix
ViewPager.setCurrentPage()
bug when it was called many times with the same value (the pager was loading many times each page). - Fix
View.setBackgroundImage(null)
bug (the background was not cleared) - Fix NeoMAD command line result to NeoMAD Build FAILED when xcodebuild failed
- Fix
HttpRequest
memory management with big downloads - Fix -s (launch emulator) option bug with XCode 6
- Windows Phone
- Fix
WebView.setVerticalScroll(false)
,setHorizontalScroll(false)
bugs (they did nothing) - Fix
TextLabel
content alignement bug when alignment isVCENTER
orBOTTOM
(it was always considered asTOP
) - Fix
System.out.println()
to be visible in “Immediate” Windows of Visual Studio - Improve
ViewPager
performance
- Fix