69

I have a pattern (.png image 4x4px) and have to fill the layout with it.

Does anyone know how to do this?

If I simply select the drawable as a background the image, it is stretched; instead it needs to be repeated along the x and y axis.

esme_louise
  • 540
  • 2
  • 9
  • 28
Niko Gamulin
  • 66,025
  • 95
  • 221
  • 286

1 Answers1

186

Here is a really nice explanation:

Put your "back.png" image on "drawable" folder. Then create a drawable "backrepeat.xml" like that:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/back" 
    android:tileMode="repeat" /> 

In your layout, add android:background="@drawable/backrepeat":

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/MainLayout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/backrepeat">

</LinearLayout>

As is the case with many Android good practices/handy tricks, it can be traced back to Romain Guy.

Allan Veloso
  • 5,823
  • 1
  • 38
  • 36
Dimitar Dimitrov
  • 16,032
  • 5
  • 53
  • 55