I'm just mucking around with Android tablet stuff in 3.0. I have fragments set up to do the equivalent of UISplitViewController for iPad. Anyone know what the best solution to get something like the iPad UIPopOverController is?
I'm thinking the options are either a separate dialog or something in the Action Bar ...?
I haven't actually seen any Android tablets running 3.0 so not clear what the standard will be ...
Many thanks in advance
This may not be exactly what you are looking for because I'm not all that familiar with UIPopOverController but I think you can accomplish something similar using a Toast with a customized layout.
I would take a look at Creating Toast Notifications and see if it works for you.
Depending on the functionality needed it might work, otherwise you might need to look into trying to generate a modeless dialog with a custom layout.
As for your other question, yes options are generally stored in a separate activity within your application and following Honeycomb design the options activity would be accessible from the Action Bar and the options itself could be a fragment.
Its nothing official but I would crack open the source code to the contacts app for 2.0+ They emulate the popover UI using an Activity in a pretty creative way. It might be a little over kill as it was designed to be usable by any application not just itself. But it should help give you a nudge in the right direction.
Also depending on what the behavior you are looking for exactly a combination of fragments and action bar could be the way to go, but its not going to be as easy as iOS.
Related
Im developing an app and wanted to add some page browsing with those dots to identify your current page like the image below, can someone tell me how is that control called?
Thank you in advance
There is nothing in the Android SDK that provides this "out of the box". It is probably implemented as a LinearLayout holding ImageView widgets, though there are plenty of ways of doing it. If your intention is to use this with a ViewPager, there is an implementation of this UI in the ViewPagerIndicator library and perhaps in other open source libraries as well.
If you really want to see what that app is doing, use uiautomatorviewer to inspect the running UI of that activity and see what widgets are involved.
There is no default Android view for that.
Take a look at this:
https://github.com/JakeWharton/Android-ViewPagerIndicator
I have been browsing the web for a while now and looking at different examples of how to implement a tab bar.
The problem I am having is deciding the correct approach to creating this feature. The option that seems most used is to have one main activity called MainActivity or something and using fragments as the tabs. This is all well and good and I have created an application like this fine.
The problem I am having is I am in two minds as to whether this is the right way to go about it as coming from an iOS development background it just doesn't seem right due to these tabs having different functions.
Any pointers would be great.
EDIT I have also looked into ActionBarSherlock but couldn't get to use it in a project as it kept coming up with errors and I couldn't find a thread that sorted the problems I was having out.
Disco
You should be using fragments, yes. There is an example of how to do it here: http://developer.android.com/guide/topics/ui/actionbar.html#Tabs
This "only" works with Tabs that are part of your Actionbar, though. Shouldn't be too much of a problem, because they usually should be part of your Actionbar. You can also manually move the tabs if you're not content with their location, or roll your own buttons that look like tabs.
Keep in mind that tabs in Android aren't quite the same beast as the tab bar is in iOS. They look similar and behave similar, but there are subtle conceptual differences in how they are supposed to be used. Don't use them for your basic app navigation, but rather for switching between similar "things".
If you want to employ this on device pre-3.0 though, you will have to use ActionBarSherlock. It does work fine and we're using it in several projects, so if you're having problems integrating it I suggest creating a new question for that, I'll be happy to help.
I cannot find either one of these two views in the source, but have seen them both in many apps. Can anyone please tell me what they are called?
Thanks
The second one is an options menu from the action bar. I think it is implemented as a ListPopupWindow.
The first one is not part of the Android SDK, though there are various implementations floating around. Here is an example of one designed for use with Google Maps, for example. Here is one designed for the "quick actions" pattern.
I'm going to assume that they're custom made ones, so you won't find them in the standard Android libraries.
The second one I think is just the way that the default menu looks in ICS (and honeycomb for that matter). If you build for 4.0 and include the code for an options menu I think you'll get that UI by default. If you are looking to customize it check out this page http://developer.android.com/guide/topics/ui/actionbar.html and pay close attention to the "Adding drop down navigation" section.
The first one is not a part of the android UI, that is something specific to the facebook app.
I like how the Android 3.0+ action bar looks, but I don't want it to be on top of the screen. Is there a way to move it to the bottom or to the side?
It is not possible to do so. At least not using public APIs. You could easily find a way to do it but your app would be inconsistent with other apps and likely to break with future updates of the OS.
I think you may have some luck if you delve deep enough into ActionBarSherlock's source code. Since that library creates an ActionBar for pre-HC devices, you may be able to just change the position where it appears. This isn't exactly the answer you were looking for, but it just might be able to solve your problem.
I'm trying to get my app to blend in as much as possible with the "standard" with the rest of my android device. It's a stand-alone app, not integrated with the OS or anything, I just want it to look familiar.
The area I'm interested in is the "settings" screen. If I look at Android's standard settings screen, it's well spaced, perfect font size, with neat pin stripes between the menu items.
How do I do that? Is that a ListView? Is it done with a regular LinearLayout?
I would love to be able to replicate the look & feel in my app. Can anybody assist?
And it's not just the Adroid OS. it's most of the "professional" apps out there:
Many thanks
Actually, this is directly part of the Android source code, so I would strongly advise you to take a look in its structure. See the Android Settings tutorial for more info.
Settings are created from the SettingsActivity (which extends the PreferenceActivity, you might want to look this too), which in their turn have their layout based on the following xml files:
preferences.xml
preference.xml
Things are quite strongly interlocked so it needs some reading...
AFAIK its a ListView. by implementing a custom ListView, you can achieve similar effect.
Moreover, you'll have to follow the Icon Design Guidelines to create such icons for ListView rows