Google saturday released a brand new version of AppCompat, which makes the ActionBar really similar to the ActionBar used by Google Chrome.
I'm wondering if there's any way to tell AppCompat to use the same style for the ActionBar popup as Google Chrome (the animation effect, the touch feedback etc.).
Thanks a lot for your time.
You must use Toolbar to do those effects.
The animations you can achieve by code.
A good reading about the first steps for Material Design can be found here: https://chris.banes.me/2014/10/17/appcompat-v21/
Related
I'm having a "this can't be right moment" trying to learn Android app development. I want to add some buttons to the top bar (app bar, toolbar, action bar, etc) of my Activity. Apparently this thing is called the app bar. But when I read the docs, I feel like I'm taking crazy pills:
This class describes how to use the v7 appcompat support library's Toolbar widget as an app bar.
Why do I have to use something called "appcompat" to add a toolbar? I don't care about backwards compatibility right now, I'm just coding an app to learn. Normally backwards compatibility shims/layers are an optional thing. I just want to do this in the most straightforward way at the moment - it'll be easier for me to learn that way.
There are other ways to implement an app bar—for example, some themes set up an ActionBar as an app bar by default—but using the appcompat Toolbar makes it easy to set up an app bar that works on the widest range of devices, and also gives you room to customize your app bar later on as your app develops.
Again, this sounds like the docs are saying that the method they advocate is not the simplest and most basic way, and that there's another. Then one of the very first steps in the tutorial is:
In the app manifest, set the element to use one of appcompat's NoActionBar themes. Using one of these themes prevents the app from using the native ActionBar class to provide the app bar.
Huh? So the first step to getting a toolbar is to turn off the toolbar? At this point I feel like I can hear clown horns going off. Am I being pranked? I don't think Google realize how bonkers this all sounds to a complete beginner.
Is there a way to add buttons/actions to the default Material UI ActionBar in an Activity, without going through the appcompat package?
Im trying to make an application Lollipop & Material Design compatible following the latest guidelines.
Anyhow I'm having troubles finding the appropriate documentation for the components for Lollipop on developer.android.com it kinda seems like the documentation is stuck with KitKat and appropriate documentation is missing.
I have the need to implement Flat Buttons like these (http://www.google.com/design/spec/components/buttons.html#buttons-flat-raised-buttons) and Icon Toggles like these (http://www.google.com/design/spec/components/buttons.html#buttons-other-buttons).
Besides that I'm also trying to implement big style App Bar/Toolbar - again can't find an appropriate documentation.
Any tips?
for the new tool bar api have a look at http://developer.android.com/reference/android/widget/Toolbar.html
http://android-developers.blogspot.co.il/2014/10/appcompat-v21-material-design-for-pre.html
for button styles you just need to use elevation
https://developer.android.com/training/material/shadows-clipping.html
for buttons togglers just use selectors / ripple effect
https://developer.android.com/reference/android/graphics/drawable/RippleDrawable.html
gl
Well it depends on what you are looking for and want to achieve for the material design look and feel.
The url's you have are more the design guidelines. About how everything should look. It's as important as the developers guidelines if you design too.
Material Activity transitions
But when you think about the material design transitions where they don't want those static transitions like "Go from this activity to another" But more like a dynamic transition you can look for examples and explanation here: https://developer.android.com/training/material/animations.html
Ripples
If you want to know more about the touchy ripple effects and things like how to get the 'hairline' color of components you can find more here: http://android-developers.blogspot.nl/2014/10/implementing-material-design-in-your.html
Elevation
Also Material design wants you to play more with the elevation of elements. Check that here: https://developer.android.com/training/material/shadows-clipping.html
And ofcourse there is more. Look in the left menu where you can find more best practice examples. Also the new Android 21.+ SDK offers new examples released a couple of weeks ago. Check those out to see how google implements Material design for api level 21.+
I'm going to develop an android application in our school as a project.
I want to use the new Material Design by Google but i know its only available on Android-L Devices.
Jack Underwood has recently released the calendar called "Today Calendar", which is in the Material Style and running on Kitkat and lower Devices.
I know that the Actionbar height is a bit bigger than the older one and the navigation drawer toggle has a new style. And so one ...
How do i implement that?
Currently the Android-L contains the Material Theme which works only on Android-L release.
You can build a Material Style without this Theme.
For example:
you can use a custom ActionBar (it is a customView) with a solid color, without shadow and with the navdrawer icon insted of standard icon app.
You can build a subheader bar with a LinearLayout below the actionBar with the same color.
You can build a Floating Action Button with a floating circle (and a shadow in png)
and so on...
We don't know what will be available for older releases. May be something as the new class Toolbar will be available in support library (and it will semplify the actionbar).
I suggest you waiting a month.
appcompat v21 supports the toolbar on pre-lollipop devices as well.
You can check out Chris's blog for some help on this
https://chris.banes.me/2014/10/17/appcompat-v21/
Of course, the elevation attributes does not work on pre-lollipop devices, so you need to implement custom shadow for version < 21. I would suggest a gradient drawable with height around 4dp works fine.
I'm using ActionBarCompat in my project.
The problem I have now is that I need a spinner to show in the actionbar. A standard ActionBar can use .setNavigationMode(ActionBar.NAVIGATION_MODE_LIST) but this is unavailable in the action bar compat code.
Is there a way around this? What are other options (besides a layout redesign.)
There is no way to do this in the code provided by ActionBarCompat.
It provides an ActionBar in it's most basic form for use by all platforms.
A better alternative is useing ActionBarSherlock. The setup very similar and more functionality is available out of the box.
http://actionbarsherlock.com/
I have a pretty simple question about the Android ActionBar... is this intended to be present in the app, to use as a sort of header, or is it only intended to show when the user hits the setting button on the device?
I'm trying to implement a menu that is always present in the app, like a logo for branding, and some other actions, like a search icon and perhaps a map icon to see the map functionality. Any suggestions? Also see this post here
The ActionBar is always displayed. Check out the Android Developer Site for more information on the ActionBar UI patterns and usage.
You can use the excellent ActionBarSherlock library to provide an ActionBar on 2.x devices.
The ActionBar sounds perfect for the branding/icons you want. You would use your logo as the icon, and then have Action Items for Search and Map functionality.
Have you put your android:targetSdkVersion to 11 or more ? ActionBar is available only for Honeycomb and ICS :)