Category Archives: Tutorial

[Tuto] Create an Android UI programmatically


Sometimes we need to create an interface programmatically to computerize some processing like create a form dynamically. It’s the subject of this post. You can found above an example.

Let’s Go !


We begin with a simple XML file that contain a RelativeLayout and we add programmatically a button at the center.

We will finish with a result that equal to this :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android=""
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    <Button android:id="myButton" android:layout_width="wrap_content"
        android:layout_centerInParent="true" />

How ?

Like that :

public class MaClasseIHM{
    private RelativeLayout myRelativeLayout;

    public void onCreate(Bundle savedInstanceState) {
        myRelativeLayout = (RelativeLayout)findViewById(;

        // We create a button
        Button myButton = new Button(this);

        // The LayoutParams class permit to setting our element (the button)
        // Here the height and length
        RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
        // Here we center myButton
        layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);

        // And to finish, we add the button at our RelativeLayout with layoutParams
        myRelativeLayout.addView(myButton, layoutParams);

You have now all elements to create a more complex UI.

To go further

You know now how to create a button. It’s not very usefull but it can become usefull if you need to create a lot (one hundred for example) through the loops ! :)

If you need to create a more complex interface like a form, you can create a class that extends RelativeLayout. After it, you can create easyly a lot a of this new element by instanciate it.

If you have any problem, don’t forget the android documentation or comment this post :)