Android: background 2.0

Для одного из наших приложений “Говорящие вещи” потребовалось сделать яркий, жизнерадостный, но не отвлекающий фон. Мы перебирали несколько разных вариантов с deviantart (где средний фон – 500кб, OMG), но почему-то смотрелось не очень внушающе(растяжки, отвлекающие цвета).

В интернетах наткнулся на пост товарища @gobozov: Android. Tiled background with diagonal lines, как говорится, inspired by .. :). В котором был пример стильного фона (stripes + полупрозрачный градиент). Выглядит – круто.

В его варианте используется tile background как фон Layout + ImageView с градиентом. Я попытался чуть-чуть упростить и уменьшить количество файлов.

Stripes

boo!

Последнее время меня прёт от этих полосочек :) Они способны придать любому приложению/странице эффект Web2.0. Есть множество ресурсов, на которых можно сгенерить эти полосочки: stripegenerator.com или www.stripemania.com

Фон

Теперь создадим drawable: res/drawable/background.xml состоящий из двух слоёв:

  1. Stripe нужно размножить “замостить”
  2. Сделать радиальный градиент от от полупрозрачного белого до практически прозрачного белого
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <bitmap
            android:dither="true"
            android:src="@drawable/stripe_blue"
            android:tileMode="repeat" />
    </item>
    <item >
        <shape android:shape="rectangle" >
            <gradient
                android:endColor="#4fffffff"
                android:gradientRadius="500"
                android:startColor="#8fffffff"
                android:type="radial" />
        </shape>
    </item>
</layer-list>

И поставим его в фон корневого Layout:

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

    . . . . . . 

</LinearLayout>

Результат

(сверху ActionBar – GreenDroid)