I want to create a sliding drawer concept for my applications, is there a way to use the Sliding Drawer component as a base?
I'm unable to find the source at the AOSP-repository, but the 1.5 source version can be viewed at Grepcode: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/1.5_r4/android/widget/SlidingDrawer.java/?v=source
Although I haven't tried I think you should be able to use that as a base.
Related
I need a navigation bar that doesn't slideIn above the current view (the usual overlapping stype), instead it should be as in new ebay app (as if scrolling the wallpaper in homescreen with more than one page). Is it possible to add this effect to material-design-navigation-view? How do I do it?
You can use Sliding Menu Library for your requirement. Here is the link to that library
Sliding Menu Library
And if you are using Android Studio then see this link to add it in your project
Importing in Android Studio
There is no default way to really do this. However, this thread of StackOverflow will help you: push activity on the right when open drawer
Another GitHub library that may suit your need is: Material Drawer. You can download the demo on Google Play Store (same name). A similar approach is the Persistent Header Drawer
For example, please view this image from the Android Developers site.
Basically, I want to replicate this navigation drawer, currently I have it all except the sub items (Option 1, Option 2, in the example). There is no documentation on how to get this on the developers site. This is what I have currently:
MainActivity.java: http://pastebin.com/iNXW00ex
SeparatedListAdapter.java: http://pastebin.com/fESuvEVi
MainActivity.xml: http://pastebin.com/gg4JANwh
Drawer Item/Header.xml: http://pastebin.com/WzvPXQYm
That's all I think is needed. I'm aware that typically a expandable list view is used for the child items, though I'm unsure how to combine that with the current separated list adapter so I can still get titles.
Thanks, David.
There are a lot of third party libs for sliding menus.
Why not use one of them instead of trying to recreate Android's?
For example:
https://github.com/jfeinstein10/SlidingMenu
Have you checked out the Navigation Drawer tutorial in the Android docs?
http://developer.android.com/training/implementing-navigation/nav-drawer.html
Uses classes in the support library to make implementing the nav drawer pretty straightforward.
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.
How can I create a horizontal sliding drawer like the YouTube and Facebook app has.
Many other apps seem to use use the same style, so I'm guessing that this is a part of the default Androind UI framework but I can't seem to piece it together.
You can see some more samples here.
Thanks.
This is a sliding menu, you can implement this by writing a custom view. There are a lot of good open source examples. I would recommend you to use this one.
You can use it by defining this in your Layout:
<com.slidingmenu.lib.SlidingMenu
xmlns:sliding="http://schemas.android.com/apk/res-auto"
android:id="#+id/slidingmenulayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
sliding:viewAbove="#layout/YOUR_ABOVE_VIEW"
sliding:viewBehind="#layout/YOUR_BEHIND_BEHIND"
sliding:touchModeAbove="margin|fullscreen"
sliding:touchModeBehind="margin|fullscreen"
sliding:behindOffset="#dimen/YOUR_OFFSET"
sliding:behindWidth="#dimen/YOUR_WIDTH"
sliding:behindScrollScale="#dimen/YOUR_SCALE"
sliding:shadowDrawable="#drawable/YOUR_SHADOW"
sliding:shadowWidth="#dimen/YOUR_SHADOW_WIDTH" />
Edit:
The Android team introduced an official sliding pattern on Google IO 2013. Read everything about it here.
As far as I know it is not part of the default framework. This is the only place I can find it mention in the Android docs http://developer.android.com/design/patterns/actionbar.html and I have search quite a bit.
This so far has been my favorite library https://bitbucket.org/verdigo/drawer/ straight forward and easy to use.
Also pretty recently HoloEverywhere library added a drawer you can use. This one interests me since I use HoloEverywhere in most of my apps and it looks very similar to Foursquares. https://github.com/Prototik/HoloEverywhere
How can I create a horizontal sliding drawer like the YouTube and Facebook app has.
FYI: These are not sliding drawer. That is Navigation Drawer. You can create a Navigation drawer by following this sample project.
I have an existing app that is using a Dashboard style pattern where there's a main menu, and clicking icons on the main menu drive start different activities... In order to navigate to a different function, you need to go back to the Dashboard menu and select another icon.
I want to change my application to a tabbed format similar to the one below with Icons:
What type of View is being used below? Is this a FragmentActivity? Also, what is the best approach to go about conversion? I have a bunch of layouts with listviews in linear/relative layouts... Will I be able to reuse any existing code? I want also to be able to use the solution with Android 2.1 and up if possible.
Thanks!
In the image you provided, it looks to be a TabHost that is used (which can be within a normal Activity or a Fragment Activity) and will be available for Android 2.1 and beyond when using the Android Support library. Based upon your description, you most likely have an Activity per each of your items that you will probably want to convert into a different Fragment. This may take a little time, but a Fragment is very similar to a normal activity in many ways, so once you start getting used to it, converting over the old Activities should be a breeze.
If you plan on using these tabs and you follow the Android design UI guidelines, you may want to use the TabHost in conjunction with a ViewPager. There is a great tutorial for this online that also allows for backward compatibility (down to at least 2.1) found here: http://thepseudocoder.wordpress.com/2011/10/13/android-tabs-viewpager-swipe-able-tabs-ftw/
Support library for fragments/viewpager: http://developer.android.com/tools/extras/support-library.html
More info about a TabHost and using Tabs with fragments can be found here:
http://developer.android.com/reference/android/widget/TabHost.html
http://thepseudocoder.wordpress.com/2011/10/04/android-tabs-the-fragment-way/
You can use TabLayout and a TabActivity to achieve layout in picture. Bad news is these are deprecated as of Android 3.0. Google advises to use fragments instead of these.