-3

I have a task to convert an iPad application into Android tablet. I get into my concerns right away. iPad screen resolution and size is only 2 different versions, so you design in the small resolution and add graphics for the bigger one too. That's fine in Android you have the drawable folders. But when you testing in emulator shouldn't I set the resolution iPad like? 1024x748 and test my app there? OK I will have my values with dp,sp, wrap content, fill parent, but my target devices are tablets. What would your opinion be in setting up the emulator for such kind of task?

Next is what about some things with architecture. In the iPad I have views and subviews, child controllers appearing "on top" of the other controller. This can happen with fragments I think so far but, can these fragment layouts have a dimension? or you are just hanging on wrap content etc? I mean you have a view 1024x748 and another view appearing top of it bottom right on the screen 300x300 for example. Different controllers, different views, exchanging data! Any example tutorials on such a design?

Can I just show a "popup" kind with various views inside in a specific position on screen? Like you push a button and a view rectangle with a pointing arrow appears next to it.

Thank you in advance and I hope you can understand what I'm asking. Comment for any inconsistency.

George Taskos
  • 8,324
  • 18
  • 82
  • 147

2 Answers2

2

What's your question here? You have to create a similar App on Android as you have now on iOS. The two platforms are different, both in API and in UI terms. Thus, first of all, you/or a designer at your cmpny have to redesign the app, so it fits into the Android world... So in other words, what matters here is "WHAT YOU DO", not "HOW YOU DO"... You have to design the same experience for your Android users... And that does not start with simply porting your app, and coding.

You should NOT simply take features form the iPad app, and directly force them into the Android version, as the look&feel, the behavior of the two systems is different. You should dig deep into Android Design Guides before starting that... HERE and HERE

E.g.: In the iPhone world you can use absolute positioning, as you have only a few valid resolutions. In the case of Android, layout has to be dynamic, as you have tons of different resolutions. The recommended layout of programs, the number of hw buttons, these are different. The user expectations are different. An Android phone is operated differently from an iOS based device... Users are expecting functions to be accessible in different ways...

Another approach is to use a framework that enables designing apps for every different platform. Thus, they have an abstraction layer on top of which (with it constraints) you design your app, and than you are able to release it to all of the different platforms (iOS, Android, WP7, W8, Bada, etc, what the actual platform supports..). HERE is an article on such platforms.

Vajk Hermecz
  • 5,413
  • 2
  • 34
  • 25
  • Thank you, I understand all these but I am thinking in how to achieve best results with Android best practices of course. I'm not going to force the same "programming concepts" though I would like to make it look like as possible as close it can be to the iPad version. I might have to narrow down device support and target tablets only resolutions and sizes. – George Taskos Nov 14 '12 at 12:27
  • Constraining on API level is an acceptable thing. But constraining on resolution, that stinks a bit for me... Designing for any resolution definitely has its tricks and "haxors", but is the price if you do Android dev... (Surely there might be cases when constraining on res is a valid approach, but only in rare cases like blocking ldpi when creating an image editor...) – Vajk Hermecz Nov 14 '12 at 12:37
  • I agree, thanx. I think I'll have to make heavy use of fragments in my app and RelativeLayout, but there is an issue maybe redesign the app for some "Views". Or find a possible solution in some new specific questions during my journey into learning and developing for Android. – George Taskos Nov 14 '12 at 12:51
1

I'll give it a try to make something meaningful out of this.

To the emulator screen size

Android come in any size and shape so you should develop for that. Sometimes it can be an advantage to actually set the dimensions in the emulator to something obscure just to see if it looks good. That said I'd test on the most popular tablet brands like:

  • Nexus 7, Asus transformer eee pad (1280×800)
  • Nexus 10 (2560×1600) (hard to test due to the large size)
  • Amazon Kindle Fire HD (1280 × 800) (same as nexus but some report indicate it is handled differently, so if you got a physical one test it)

In general you should always test on a multitude of screen sizes but also a multitude of devices as there always is some differences you don't think about (like with the amazon kindle fire HD), so get your hands on as many tablets as you can or use some kind of test service.

About architecture

Android has views and sub views as well. Fragments is a simple combination of code and view and like views have a size. Fragments can easily exchange data but it happens through its parent activity.

You don't EVER want to position different views at a specific position on the screen. Setting UI for android is more like setting UI for a webpage than for a newspaper. You don't have a specific size but a size that various for each device. So you should make a layout that can be stretched to the various sizes and still look good. This can be accomplished in numerous ways.

Community
  • 1
  • 1
Warpzit
  • 27,966
  • 19
  • 103
  • 155
  • I understand, I should design UI thinking like Web, Layouts etc. OK. It was meaningful, thank you for your answer, I'm just trying to put thoughts here and get as much as possible feedback to think. – George Taskos Nov 14 '12 at 12:30