A (175)

(Tuis.) #1

596 CHAPTER 16: The Future of Android: The 64-Bit Android 5.0 OS


Automatic Shadows: Shadowing Based on Z-Layers


Android also currently contains support for the application of drop-shadows, and this feature can
even be implemented using XML in your user interface design definitions. It is important to note
that you could apply drop-shadowing attributes to your TextView objects currently in Android 4,
using four powerful XML parameters, including the android:shadowColor for setting the shadow’s
color, android:shadowDx for setting the shadow “delta” (offset) in the X direction (dimension),
android:shadowDy for setting the shadow “delta” (offset) in the Y direction (dimension), and
android:shadowRadius for setting a shadow blur radius (amount of shadow blur or softness). These
shadow parameters currently exist in Android 4 and in previous Android versions as well, so feel free
to add them to your TextView widgets.


In Android 5 and later, you should be able to use the shadow parameters with many of the other
Android (View subclass) widgets as well, and the shadow parameters will automatically look at the Z
information for the layer on which they reside (for at least some of their parameter settings). I imagine
auto-shadowing parameters could be overridden by explicitly specifying (I call this hard-coding)
that particular parameter. Taking shadowing to the next level in Android 5.0 is the next logical step
or progression, giving Android what is called “isometric 3D” or faux-3D capabilities, which are also
sometimes referred to as 2.5D (two and a half D). The 3D, 2.5D, and special effects capabilities, which
have been added for the Android game development industry, are clearly going to be leveraged in the
UI design areas in the OS, as these will contribute to the overall User Experience (UX).


The Camera 2 API: UHD with High Dynamic Range


Android 5.0 will unlock the unfettered power of the new ultra high definition (4096 by 2160 UHDTV)
capable camera CCDs (charge coupled devices), which will capture UHDTV video at 8 megapixels
(4096 times 2160 is actually 8,847,360 pixels, or 8.85 megapixels to be exact). The new Camera 2
API will unlock all of the power of the new UHD camera hardware that will be appearing in Android
5.0 devices. This Camera 2 API will allow developers to access each of the physical UHD camera
features directly from the camera device hardware.


Android 5.0 device owners will be able to film their very own UHDTV shows or content and, on top
of that, they will be able to stream uncompressed (raw) video frame data directly from the Camera
hardware CCD data stream. The Camera 2 API will also support high dynamic range (HDR) digital
video and high dynamic range digital images (HDRI). The Camera 2 API will also be able to access
the more advanced YUV color space.


In case you are wondering what YUV color space entails, it is different from RGB (display) or CMYK
(print) color spaces, and it allows color to be defined using a UV color plane. The YUV color model
takes the human perception of color into account, and because of this, compression artifacts can
be hidden more easily by making the artifacts not as noticeable to human perception. As you might
imagine, this makes YUV a more complex color model than “straight” RGB, where every color
is treated equally as a hexadecimal value. The YUV color representation is typically used where
cameras are involved, such as in the film, videography, television, and digital photography industries.
Clearly, Google is positioning Android 5.0 as a production tool.


In the world of digital cameras, “raw” means taking the raw pixel color data right out of the digital
camera CCD hardware and using that untouched digital image data in your digital image-editing
pipeline (workflow). There’s a digital image data format, called RAW, and another open source

Free download pdf