I'm fairly new to Android and I'm working on an application in which one particular section involves a more advanced UI interface than what you would normally create with the stock UI components. I've read through most of the SDK tutorials and I get the basics but I can't see how to implement something like this. I'm not looking for any code, just some advice on what technologies I should be reading about to achieve this.
Here is a mockup:
So basically at the top there is a thumbnail strip that the user can flip through. Clicking on a thumbnail will perform some action. I'm pretty sure there's a stock control for this.
Underneath that I need to be able to create a composite image that can be pinch zoomed and panned and has hotspots that can be clicked (tapped) on. For example, an image of the solar system, in which the background would be static, but the planets need to be placed at runtime and need to be clickable, and the whole thing needs to be pan/zoomable. Support for very minimal animation (eg slow planet rotation) would be a plus, but not necessary. I'm at a loss on what I would achieve this with.
Finally, there are three pull-out panes that contain other content, such as images, menu items, and other media. Basically these just need to be containers in which I can place any other UI content.
I've done some basic Activities so far with simple forms, so I understand the basic workflow of Android, but I'm just not sure what to look at to achieve something like this. Is this a good candidate for a SurfaceView? Is there something else I should look at? I have been a bit afraid to get involved with OpenGL, since I don't really have a 3D background, and I still want to be able to use native components (buttons, listboxes, etc) without having to re-implement them in OpenGL.
Have a look at this for the slides:
http://developer.android.com/training/animation/screen-slide.html
as for the thumbnails you can use a linear layout, with some imageviews and buttons.
Related
I have am developing a game in which most of the sprites are static (but animated). I found that using an imageview with drawable background (using xml) is giving me what I want. I may move those sprites based on user touches and have basic collision detection.
When I search the internet about the game development, most sites talk about either game engine or at least canvas/surface view. However in my case, I find deal with the normal android views and layout is enough to get me to going.
Is making a game using layout, image views and views something that is frown up? am I going on the wrong path with this?
Thanks
It all depends on the kind of game you want to make. If you are making a grid based game, ImageViews could be more useful. However, almost no one makes Android games using layouts. Most people choose to use SurfaceView because it allows much more to be done, and in my opinion if you choose to learn it you will make much better games.
Of course, this is all opinion but I know nobody who creates games using the layout editor.
I am trying to put together a fake UI for an iOS and Android device without actually creating all that tedious UI work. Is there a way to mockup the UI from the images somehow? We have the Photoshop designs and mockups so far.
Are there any tools? I've checked Titanium and ForgedUI. While its a fairly simple concept I still think its an overkill to create all that. for instance I have to slice my PSD for the buttons. Plus the data feed has to come from a URL etc.
I just want something similar to Balsamiq Mockups linked screens one to another for an actual demo of a bunch of screens. We want to test the navigation, the fonts and the product concept while development is getting the product ready.
Thanks in advance!
The easiest way would be to use HTML. If you already have Photoshop mockups, you can simply export those to (retina quality) PNG images and add some image maps for navigation. If you add this site to your homescreen, you will have a pixel-perfect preview without Safari's navigation bar.
However, iOS apps depend heavily on animations. If you're going for a native UI anyway, you should consider creating a "real" UI prototype, using actual UIControl elements. While this is more work, it allows for much better UI evaluation.
For wireframing, a couple of options:
For high-fidelity mockups, I would do it in Interface Builder and storyboard, like JustSid recommended. Just don't do the tedious work of hooking up the UI elements.
You could look at tools like Adobe Proto. I've never tried it, but it seems like it might be an option.
For my super-quick, low-fidelity mockups (e.g. digital equivalent of the "back of the envelope" mockups), I personally use my iPad, a stylus, and a drawing package like Sketchbook Pro (use whatever drawing package you want, but I like one with layers). I also put blank device images on my iPad, too.
So, I open up my drawing package on my iPad, start a new drawing using a picture of an iPhone device as the starting point, drop on a new layer (so I can draw on a layer and either hide or discard that layer to instantly get back to the image of the blank device image), and just draw what I want my UI to look like on this new layer. This works great for brainstorming sessions. There's no automatic bridge from this conceptual, low-fidelity mockup to an actual Xcode storyboard, but I can draw a user interface mockup in seconds. I do this not only for brainstorming with designers, but also for fleshing out my own conceptual ideas, myself, too.
I want to create professional looking GUI for Android application. Something more than just raw widgets which I'm taught to use in countless tutorials in the web.
Unfortunately, I couldn't find any source of information how to customize those widgets and create better looking GUI.
Examples could be: http://android.appstorm.net/wp-content/uploads/2011/03/calorific-sc.jpg
or http://android.appstorm.net/wp-content/uploads/2011/03/chomp-sc.jpg
How are such GUIs created? If you could point me out to some tutorials on it, I would be really thankful!
Greetings,
Bart
There's nothing in those examples that looks like it couldn't be made from standard components. For instance the second screen of that calorific application is just a background image for the window with a list and a button with a background image as well. The first image could easily be done with just buttons and background images for views as well.
TLDR: Split the view into rectangles, assume that these are all standard components with images as backgrounds unless they seem to have nonstandard interactions.
Those are called custom components.
You will need to do a fair amount of work to get the look you want. (compared to using system components).
http://developer.android.com/guide/topics/ui/custom-components.html
Edit
Bone up on your Google-fu Bart!
http://www.google.com/search?q=custom+components+android+tutorial
I am programming an android game that has a screen, which has a ScrollView that contains almost everything on the screen. I need to have image elements that move around, can be clicked on (but also be transparent to clicks in certain situations) that have multiple layers and animations.
Should I use layered Imagebuttons? there can potentially be doezens of them on the screen at once, and i don't know if there are memory concerns about having 200 imagebuttons on a screen.
Do I need to use a canvas? I have seen canvases in many examples, but i don't know if they are the best option.
Is there some other class or way of doing this that is better?
any help you can provide would be much appreciated.
You'd be best served by an Android game library. Check also e3roid.
I'm thinking about writing a pretty basic game, which mostly involves sliding images around on the screen when tapped. So tap an image and it slides to one side. Doesn't seem like Android Animations will help me here since those don't actually move the images, just makes it appear moved.
So even though this seems like pretty basic functionality, it seems like I have to write a game loop,etc and implement my own code to handle the "animation" (including some acceleration/deceleration), etc. Not hugely hard or anything, but just seems like overkill. Also using a 3rd party game engine also seems like overkill, just in the time it would take to learn that, and so on.
Am I off base here?
If anyone has any suggestions that might get me pointed in the right direction (links, etc) that would be great. Is there a good way to use Android Animation functionality in this case that I am missing?
If you are developing for Honeycomb, it may be as easy with animations. With Honeycomb, there is a whole new strategy to animation. Check out the blog. The premises is that any property or value can be animated, and that includes the view's actual position (and not just look like it moved).
I have built a couple of games using AndEngine (http://andengine.org) I would recommend it for making games for android. And since it is all written in java, it is relativiely easy to integrate it with layouts and other activities.