I need to incorporate a youtube like drawer navigation drawer for both(left,right) sides. AFAIK android apis don't provide means for the right-to-left drawer functionality. There're quite a lot of implementations out there(sliding menu) which do.
This sliding menu feature seems to present a performance issue. Should I try to rewrite original NavigationDrawer, which I expect to be the least performance-impact solution, or there is another performance-optimal library?
Thanks.
I would choose NavigationDrawer. I used both and I find NavigationDrawer smoother. If you try to mimic google UX then with NavigationDrawer should be enought for your needs.
I recently made a project/demo to implement NavigationDrawer with ActionBarSherlock for pre Honeycomb devices because I need for an app.
SherlockNavigationDrawer impl
Another thing to take in mind is that if you use NavigationDrawer try to avoid Tabs because all the tabs items could fit perfectly as a listview in NavigationDrawer.
Actually NavigationDrawer supports drawers on both edges.
You have to supply the two drawer views inside your layout xml; one with gravity:left and one with gravity:right.
Then, in your Activity you call setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED) on your DrawerLayout object.
This will enable swiping either from left or right edge.
#MichaĆ The question is actually implementation of both left as well as the right drawer.
#midnight NavigationDrawer right now only implements one-sided menu which you can place either on the left or the right. If you want to implement the other pane also you can make your content layout as SlidingPaneLayout.
This was also added to the latest support library along with the NavgationDrawer. For an implemented example you can look at the newest Hangouts app on how they are using it. This layout will probably suit your purposes better rather than rewriting the NavigationDrawer. In any case i'd hold off on re-writing it since it is the first release of the Layout and may undergo changes fairly quickly.
Since the last version of SupportLibrary there is a NavigationDrawer in Android.
Related
I have an Android app with two classes:
-MainActivity
-SecondActivity
I have also two layouts for these classes (they are pretty similar).
I want to switch between these activities by 'shifting' to the right or to the left.
All materials I find are about switching by button.
Anyone would recommend using Fragments and ViewPager instead of Activity since you want sliding action and make use of the Android TabLayout.
Here is a tutorial that you can draw a basic idea from.
I want to use sliding drawer from left to right ?
So can you tell me anybody how it is possible? and also use this drawer to all activity in my project.
Use the concept of viewpager.You can find doc and example below...
doc
Example
Check that library. API 6+ (even less, not quite sure)
https://github.com/6wunderkinder/android-sliding-layer-lib
You can attach a layer to any part of the screen with the addition that you can swipe the layout directly in and out, unlike the SlidingDrawer in which you just can drag from a small piece of UI (drawer).
You could also use the new NavigationDrawer pattern from Google.
http://developer.android.com/design/patterns/navigation-drawer.html
I'm trying to create a sliding panel that slides to collapse / expand vertically and not horizontally.
I've tried Umano's Library but it's kind of buggy for me, because I'm using Fragments, and not Activities.
Any way to implement this with fragments?
Thanks.
that is called a SlidingDrawer (which is deprecated as of API level 17 BTW) so I would not recommend using it unless you fork it from the SDK as your own
SlidingDrawer Examples:
http://www.coderzheaven.com/2011/12/01/slidingdrawer-in-android-a-simple-example/
http://androiddeveloperspot.blogspot.com/2013/05/slidingdrawer-in-android-example.html
http://w2davids.wordpress.com/android-damn-that-sliding-drawer/
SlidingPaneLayout does this SlidingPaneLayout provides a horizontal, multi-pane layout for use at the top level of a UI. A left (or first) pane is treated as a content list or browser, subordinate to a primary detail view for displaying content.
you can view the sliding pane in the new hangouts app
Well if any one wants to know,
i Did used Umano's Library
bugs were fixed using the git manager.
Works great.
I don't think these examples use viewpager, but visually they look a little like viewpager.
See Evernote's settings:
http://1.androidauthority.com/wp-content/uploads/howto/evernote-screenshots-120524.jpg
And Pocket Casts' handheld control pane:
http://www.shiftyjelly.com/android/pocketcasts
Basically, a panel is swiped in from left, but the left edge of the previous panel is still visible.
So my question is, is this UI pattern featured in an example you have seen, or did these two make it out of whole cloth and now I have to, too?
Edit for posterity:
As of Google I/O 2013, this is now built into Android. They call it the Navigation Drawer: http://developer.android.com/training/implementing-navigation/nav-drawer.html
https://github.com/jfeinstein10/SlidingMenu
This library might help you out. I think this is what you're trying to achieve.
EDIT
I've updated the link to another SlidingMenu library but as of 2015/09/16, I wouldn't use the library referenced here anyway. Google has provided the DrawerLayout in the v4 support library to achieve this. Inside the drawer, for a more standard structured navigation, the design support library has also provided the NavigationView that can be placed inside the DrawerLayout and use standard menu resource to inflate the items contained within. This SO can help out with the details of the implementation.
I'm trying to replicate the following sliding navigation menu functionality (the one with "TOP STORIES", "World", "U.S" etc.) with no luck so far.
I'm feeling there is an obvious way to achieve this, as I'm constantly seeing this in many apps. Is it based on a library shipped with Android? Any starting point or materials used to achieve this are welcomed.
Keep in mind, I don't care about the design/xmls, just the implementation logic.
It is nothing but a HorizontalScrollView that contains child views.