I am trying to teach myself the basics of Android dev. At the moment I am experimenting with home screen widgets. I would like to create a simple widget that lists all my bookmarks. Somewhere in my googling I read that ListView is not usable in a widget. What's the best way to display a scrolling list in a widget? An example would be fantastic, but otherwise point me in the right general direction and I can research further.
Thanks in advance,
Dany.
ListViews are supported in Custom Launchers that support the scrollable-widgets extension or in the Launchers since Android 3.0 (Honeycomb). Take the Android Agenda Widget for example, this supports scrolling in Custom Launchers, or the GMail-widget on Honeycomb.
Scrolling widgets in Custom Launchers is described here:
http://www.geekrono.com/2010/08/android-scrollable-widgets.html
Scrolling widgets in Honeycomb and up is described here:
http://developer.android.com/guide/topics/appwidgets/index.html#collections
You can finnd the sources for good working example except for Honeycomb at http://code.google.com/p/scrollablecontacts/
I've only seen a huge list widget on phones with HTC Sense - example. HTC Sense has a widget like that for Stocks, Twitter, etc. I don't think it's a good idea to develop huge widgets like that, because they take up too much space and some phones are limited to 3 screens (screens that you can put your app shortcuts, widgets and etc).
This is a good article on Widget UI Patterns:
Widget Design Guidelines
Seesmic for Android has a 'list' widget with latest tweets:Seesmic Blog
Widget Screen
There's also an article on UI Patterns, based on the new Twitter app, hope that helps you - Link and a video (Android UI design patterns).
Re: user controls (like in .NET), Android Views and in your case 'ListView' is what you might use for your app. You also mentioned .NET (Visual Studio), you might be interested in MOTODEV Studio. It's basically a better version of Eclipse (with Android SDK) that has common code snippets and other cool stuff.
Related
I've been asked to develop an App for both systems, Android and iPhone, and both must look the same. So, I would like to get a set of icons that look like the iPhone buttons.
Anybody knows a link where I can download/buy a set of .png to make the Android app look like the iPhone one? (In iPhone, im gonna use de default buttons)
Thank you.
Before giving a few links to get you started, let me also include a link from Android's design guidelines followed by a quote from the same link:
Pure Android
Don't mimic UI elements from other platforms
Platforms typically provide a carefully designed set of UI elements
that are themed in a very distinctive fashion. For example, some
platforms advocate rounded corners for their buttons, others use
gradients in their title bars. In some cases, elements may have the
same purpose, but are designed to work a bit differently.
I am not sure if aping / mimicking the iPhone is the intention or the right way heading into multi-platform development (although I am inclined to think, based on the topic heading, that you intend to keep just a common icon base across platforms). But without getting into that debate and the proverbial can of worms. Anyway, here a few links as mentioned at the top:
NOTE: I do not develop for the iOS platform and am not entirely aware of what the default icons are. If the links posted are useless, give me a heads up. ;-)
http://www.glyphish.com/
http://www.designshock.com/free-iphone-icons/
http://www.iconshock.com/iphone-icons/
http://speckyboy.com/2008/07/18/35-free-icon-sets-for-your-iphone-pimp-it-up/
http://visionwidget.com/free-iphone-themes-icons-sets.html
http://ntt.cc/2010/05/10/50-free-hand-picked-iphone-icon-sets.html
http://www.tutorialchip.com/freebies/25-impressive-fantastic-icon-sets-for-your-iphone/
http://skyje.com/iphone-themes-and-icon-sets/
http://inspiredm.com/5-essential-icon-sets-for-iphone-applications/
The first link (glyphish) usually pops up all over Google when searching for mobile icons. Oh. They also support the Retina Display. :-)
I should begin by saying that I'm brand new to android development, although I have a good understanding of the fundamentals of java. That being said, I usually learn best by doing, so I'm writing an app for a campus magazine I work for and trying to learn through the process of making it.
At the top of the screen is a bar with two spinners labeled "issues" and "sections," which allow the user to filter the articles shown to only those in the respective issue / section. The rest of the screen is taken up by what I will describe as a vertically-oriented gallery, which shows the headline for each story underneath an image associated with it. The user can then "flip" through the stories in the magazine by scrolling through the "gallery." Selecting one of the stories will open the full story up in ViewPager.
I have two main questions at this point:
1) Initially, I planned to place the "issues" and "sections" spinners in the ActionBar. However, as I understand it, ActionBars are not displayed to users using Android 2.x. Given that these elements are critical to navigating the app, and that a majority of android users are still using 2.x, this seems unacceptable. As a result, I'm using an ActionBar-less theme and essentially drawing my own action bar via a linear layout on top of my main activity. Am I correct in my understanding that ActionBars do not display on Android 2.x devices? If so, am I correct in including my "tool bar" as a part of the main activity, or is there a better way to implement it? (Perhaps as a fragment? I don't really understand how those fit in yet...).
2) I am aware that the gallery widget is deprecated, so obviously I'm not going to use it. What alternative widgets would best achieve the same visual goal of having the user "flip" through the stories in the magazine by scrolling through the widget? Is there a way to animate a ListView to achieve this goal?
Again, any help - particularly which helps me to understand the wider issues involved here - will be greatly appreciated.
Thanks in advance.
You can use ActionBarSherlock - it is compatible down to Android v 1.6.
ViewPager might help you
are there design conventions for layouts on larger layouts? I feel like this is a question few have asked.
A lot of android layouts don't look good on larger screens, or the user experience doesn't translate so seamlessly.
A critique of android apps is that they just stretch on large screens, but don't have any design considerations for them.
Is there a resource that details how a user might want to make their layout-large xml file, if their default layout xml file includes a listview, for instance. On the mobile experience, a listview with just text will be fine, where on the larger screen experience, the listview by itself doesn't look too good.
I would like to add extra layout files, but I don't have any reference on what they should look like, or even in the planning design phases of an app, I don't have any reference on how it ought to be designed so that other screen sizes can be incorporated.
Mainly looking for a resource that addresses these issues. Like maybe a blog post that goes into detail about this. Google's tablet design guidelines were a helpful start too.
Insight appreciated
Perhaps these resources will help you out. I would make the general statement that probably the most common technique for adapting layouts from handset to tablet is making tablet layouts multi-pane. You mentioned that you already perused through the Google design guide, but I figured I'd highlight the one page that talks specifically about this:
Android Design: Multi-Pane Layouts
The general concept is that information you would have presented on multiple screens on the handset (e.g. the list of items, followed by the view to display the selection) can be brought together on the same screen on a tablet (so the list now sits side-by-side with the view of the current selection). You mentioned already how the resource framework assists in selecting the proper layout; on the code side Fragments are intended to assist with modularizing the code that goes along with the view as well.
Another resource that may be of use is from Googler Kirill Grouchnikov. He has a series of blog posts dealing with Google Play as a case study and how conceptually the UI was broken up to work between the handset and tablet:
Responsive Mobile Design
Hope that Helps!
I'm working on an android app that has a section that feels like an iPhone home screen. There's a bunch of pages that are essentially displaying the same data in different configurations and users should be able to quickly move between them. Generally there won't be more than 4 or 5 pages.
I could just replicate the experience with the iPhone home screen with multiple dots on the bottom of the page, but that doesn't feel very android-friendly. What's the design pattern in android for viewing and interacting with this type of view? I know the android home screen has a variant with dots, but I've never seen it used within an app.
Screenshots or links to existing apps would be great.
The stock Android launcher has left/right paging behavior on the home screen, and it's open source.
This is the Workspace class. Pay special attention to the onTouchEvent and onInterceptTouchEvent methods. The utility classes Scroller and VelocityTracker are used together to define the behavior for snapping to a page when the user lets go from a drag.
https://android.googlesource.com/platform/packages/apps/Launcher2/+/master/src/com/android/launcher2/Workspace.java
Hootsuite uses this design pattern and it works well in my opinion. I don't think it affects the user experience on Android in a negative way. I find that the biggest problem with people porting iPhone applications to Android is the fact that they try to port every single design pattern over. I don't think what you're trying to implement will be an issue.
I came across this app and I wonder how was it developed on android (Cause it looks so much like an iphone app), see this screenshot.
Anyone have any idea how to accomplish that type of look on Android?
That's just a matter of styling after all. In general, I would consider it to be discouraged to make your Android app look like an iPhone app. Every platform has its own UX standards, and Android's standards are different from iPhone's. That quite obviously also reflects in the user interface.
Anyhow, you may want to read this article about Android themes and styles. It should get you going with defining own widget styles and stateful drawables to implement custom buttons.
This app obviously uses customized ListViews, ButtonView on the bottom of the screen.
Theses are pretty much standard and common in android apps.
Here is how to create custom components:
https://developer.android.com/guide/topics/ui/custom-components.html