[go: up one dir, main page]

Release updates archive

After months of intensive development, we are delighted to announce the 1.0 release of the ConstraintLayout library. It's available as a small unbundled library, in the Android Studio SDK Manager (under the "Support Repository" section), compatible with API level 9 (Gingerbread and above). We recommend updating to this version, particularly if used in production.

Note: with Android Studio 2.3 reaching release candidate status, we also encourage people to switch to it for editing layouts (ConstraintLayout included). Many improvements have been made since 2.2, providing a smoother experience.

The ConstraintLayout library allows you to create complex layouts easily, avoiding deep nested hierarchies and providing many powerful features for designing UIs:


  • Relative positioning of widgets to parent or siblings
  • Centering positioning and bias control
  • Flexible size control (min/max/wrap/constrained)
  • Per axis group behavior (chains, weights)
  • Advanced visibility behavior (gone handling and margins)
  • Horizontal and Vertical virtual guidelines (fixed positions or percentage-based)
  • Aspect Ratio support
  • Advanced API to set constraints programmatically, allowing easy animations between layouts


A code lab is available as an introduction to ConstraintLayout as well as a developer guide. A complete online documentation is also available. Many excellent tutorials have also been created by the developers’ community; you can find them on YouTube, Medium, or your favorite search engine

Changes since beta5: bug fixes related to wrap_content, support for MEASURE_STATE_TOO_SMALL.

We have just released Android Studio 2.3 RC 1 to the Canary channel. Assuming no surprises, we will promote this to the beta channel in the next few days. This build contains a small set of important bug fixes.


Please continue to submit feedback as we are nearing a close to the 2.3 release sprint.




We just published ConstraintLayout beta 5. As always, it's available in the SDK Manager (under the "Support Repository" section). We recommend to update to this version -- it will be the last beta before 1.0 and is considered as the release candidate.

Key Changes:
  • Use of MATCH_PARENT now throws exception
  • Improved performance in wrap_content use cases (30-40%)
  • Better view dimension control (6 new attributes) 
  • Improved behaviour of gone in chains 
  • Aspect ratio enhancements
  • Increased coverage of apis in ConstraintSet (chains, transforms, etc.). See documentation.


Note: if you are using Android Studio 2.2, you might have to do File->Invalidate Caches & restart studio after installing this version (the editor behavior may not be correct, with widgets temporarily snapping to the top left corner or not shown). Using Android Studio 2.3 is strongly encouraged.

MATCH_PARENT

MATCH_PARENT is not valid in ConstraintLayout when set on its children, and its behavior undefined. To reduce the risk of errors we now throws an exception if we encounter it.

Improved performance

This release fixes a few issues and performance improvements (notably, wrap_content measure on the layout got a ~30-40% speed bump).

Better view dimension controls

The new available behaviors when a dimension is set to 0dp (MATCH_CONSTRAINT). As before, both endpoints (left/right or top/bottom) need to be connected to targets.

  • layout_constraintWidth_default = spread (default, similar to the previous behavior)
  • layout_constraintWidth_default = wrap
  • layout_constraintHeight_default = spread
  • layout_constraintHeight_default = wrap

Additionally, minimum and maximum dimensions can be specified (they will only apply to MATCH_CONSTRAINT widgets):

  • layout_constraintWidth_min = [dimension]
  • layout_constraintWidth_max = [dimension]
  • layout_constraintHeight_min = [dimension]
  • layout_constraintHeight_max = [dimension]


Spread provides the previous behaviour of expanding to fill the area defined by the constraints.

Wrap provides a significant new behaviour, with the widget resizing as if wrap_content was used, but limited by the connected constraints. A widget will thus not grow beyond the endpoints.

match_parent.png

Gone Behavior in Chains

Previously, this was not handled -- views in a Chain would disappear but still take space. Now, if a view in a chain is marked as GONE, the chain will react as if the view didn’t exist.

gone-behavior.gif

Improved Ratio Support

Here the widget has both dimension set to MATCH_CONSTRAINT (0dp), and the attribute layout_constraintDimensionRatio=”16:9”


ratio.gif

We have just released Android Studio 2.3 Beta 4 to the Canary and Dev Channels.

Android Studio 2.3 Beta 4 has already completed the first level of testing and wanted to share the bits with as soon as possible. Once the build passes all testing we will release it to the Beta channel.

Fixed Issues



Please continue to submit feedback as we are nearing a close to the 2.3 release sprint.

First release upon separating the emulator from SDK Tools in the Canary and Dev channel. There have been changes to SDK Tools 25.3 which is also released to the Canary channel with this Emulator update.

Dependencies:
  • Android SDK Platform-tools revision 24 or later.
  • Android SDK tools 25.3.0

New Android Emulator features and Bug Fixes:
  • Fully GLES 2.0 compliant. Given a host GPU that has conformant desktop OpenGL drivers, the emulator now passes 100% of CTS dEQP-GLES2 must-pass.
  • Swiftshader as a pure software renderer on the host
  • Initial IPV6 support.
  • Improved pipe performance - Android Pipe, the main communication channel between the emulator and Android OS, is much (order of magnitude) faster, has lower latency and has better threading performance (especially noticeable on x64 images). This improves ADB push/pull speed, 3D acceleration support and overall responsiveness of the emulator.
  • Improved audio support
  • Improved video playback performance. The emulator now stores all video color buffers in host/guest shared memory and performs any needed final YUV->RGB conversion in the GPU. 1080p30 (even 60) should be well within reach of most systems now. (but only when new images are released)
  • Faster disk IO - Emulator now uses separate thread to dispatch disk IO, resulting in much lower latency and improved throughput (~1.5x sequential, ~5x random access).
  • Improved graphics performance. Android Pipe improvements have also increased graphics performance! In addition, the emulator will use GPU-side buffers (glBindBuffers / glBufferData) when the guest requests them, decreasing CPU overhead in some apps. More to come when new system images are released.
  • Various GUI enhancement

We have just released Android SDK Tools 25.3.0 to the canary channel to give developers an early look at some of our changes.

Dependencies:
  • Android SDK Platform-tools revision 24 or later.


Changes:
  • Android Emulator is removed from this package and moved to a different SDK directory. See the new Android Emulator Release Notes. This change is backward compatible with older studio versions.
  • "android avd" command-line functionality replaced with new avdmanager tool.
  • Obsolete/deprecated tools have been removed:
    • android
    • ddms
    • draw9patch
    • hierarchyviewer
    • traceview
    • ant scripts
    • Project and activity templates
  • Executables have been moved to bin/
    • jobb
    • lint
    • monkeyrunner
    • screenshot2
    • Uiautomatorviewer
  • Enhanced sdkmanager
    • View and accept all licenses from the command line
    • Improved verbose-mode package list

Please file feedback on b.android.com for any issues you find in this update.

Post Updates:
  • February 9: 
    • It appears the verbose mode did not make it into this release and should come in the next update. [bug: 229373]
    • Running "avdmanager --list" results in a ClassCastException [bug: 233816]