When developing Android apps, you sometimes need to create new activities (yes, than does happen). You can create your whole new activity at once and push it, but that rarely happens. You will often need many iterations, to create - say - your list items, your logic, etc. As your new feature can make some time (weeks) to be created, you need to find a way to keep it hidden from the users.

You can do that by committing on a separate branch, but you will arrive at a point where your work is about to be ready to be tested. For example, your QA team might need to test your new Activity, among other features from the rest of your Android team. You can merge all these branches on some QA branch, but that would mean you cannot separate what is production ready from what you want to keep hidden until the next iteration.

The manifest merger can help you keeping stuff out of your production builds. All you have to do is to choose a build type (except release, ofc…) in which you will put your stuff that needs to stay hidden. I use to put these activities in the debug build type, but we could imagine a custom QA buildtype for example.

Read on →

If you use the android Gmail application, you probably noticed that the progress bar is a bit customized. I am not talking about the pull to resfresh but the indeterminate progress bar which appears just after. This indeterminate drawable is much smoother than the usual.

I will show you in this post a way to reproduce this smooth indeterminate horizontal progress bar. Here is the result: the first progress bar uses the default indeterminate drawable while the others are all custom.

There is apparently a problem with the size of the video, so you might want to click on this link to see it on Youtube.

Read on →

We will see here a way to make the Google Plus profile screen. I find this screen pretty interesting (although it suffers from some minor bugs), and wanted to try to find a way to do that.

Note: I won’t talk about the weird bottom bar you have to use if you want to make a new post. I hate that ‘quick return’ bar

I’ll cut this post in three parts:

  • The view hierarchy
  • The parallax effect
  • The sticky tabs (tabs about/posts/videos, …)
Read on →

Everyone has already seen the android cards touch feedback. The selector is drawn in the foreground instead of in the background (as we usually implement it). This effect is in fact pretty simple to implement, and is already implemented in some cases.

Here is a screenshot of the press state effect in the Google Play app:

Read on →

This post is more an introduction to java annotations than a tutorial about how to create an adapter able to show different rows. I won’t describe how to implement a custom Adapter. Indeed, ListViews and Adapters are common things in Android and you can easily find a tutorial about such components.

TLDR: I made a GIST.

Read on →

This post will be cut in two parts. In the first part, I’ll present my small android library FlipImageView which allows you to create easily an ImageView which can turn into another Drawable. Then I’ll show you how the animation is performed and how you can modify it.

You can download a sample app on the store if you want to see what it looks like.

Read on →

The Sliding Menu, aka Fly in App Menu, appeared about one year ago (@see Prixing, Facebook, etc.). Because of the ease of use and the effectiveness, the users quickly adopted this UI pattern. You can read more about this pattern here.

One of the cons of this pattern is the fact that it’s hidden, so you need to inform the user he can open it. There are many ways to do this, such as guides, but there is a convenient way to do this, which is a bouncing animation when the application is first launched. That’s what we are going to talk.

Read on →

This small post, just to inform you that I just moved my blog from wordpress to this awesome Octopress, with Slash theme.

I know I didn’t posted any tuts for a long time, but I hope this makeover will motivate me again. Due to some laziness and limitations, my next posts will be english only.

This blog is now available on github, so do not hesitate to make some pull requests if you want to contrib, or fork it =)

This first post is dedicated to a wonderfull tool => Monkey!

If you had never heard of this tool, your life is turning better now. Monkey is a simple tool which allow to generate pseudo-random gestures, on a device or on an emulator. Shortly, you can in a few seconds simulate a user using your application, but a pretty stupid one (just as all users ?) because all his actions will be generated randomly. These actions won’t make any sense, but the aim here is to detect bugs in your app, and this can be very useful.

Read on →