2010-05-13 3 views
2

Я все еще новичок в Android и у меня возникли проблемы с созданием макета с двумя фонов, которые чередуются в направлении x, но не у.Активность Android с несколькими повторяющимися фонами

Я высмеял то, что я пытаюсь создать здесь ...

http://img153.imageshack.us/img153/6008/cnbackground.png

Так верхняя часть повторяет по горизонтали, то есть плоский участок Creen в середине, в котором я сконцентрируется мой контент, то есть какая-то горизонтально повторяющаяся трава вдоль дна.

Неужели кто-нибудь пытался сделать что-нибудь подобное раньше?

Jon

ответ

7

Вот хороший простой учебник по повторяющейся части фонового изображения:

http://androidblogger.blogspot.com/2009/01/how-to-have-tiled-background-cont.html

Что касается расположения, я бы с RelativeLayout как мой основной компоновкой родителя, и то у вас будет три подмашины для представления верхней, средней и нижней частей. Используйте android: layout_alignParentTop в верхнем макете, android: layout_alignParentBottom внизу, а макет среднего содержания должен иметь атрибуты android: layout_above и android: layout_below, установленный на нижний и верхний уровни @ + (соответственно).

+0

Я надеялся, чтобы иметь возможность просто добавить 2 фона к основному виду деятельности, не имея на самом деле разделить экран на 3, но я предполагаю, что вы можете иметь только один андроид: фон атрибут тега. Кроме того, в этой статье упоминается только 3 tileModes repeat, mirror или clamp и не говорится, как получить что-то, чтобы чередовать только по горизонтали. В css я сделал бы это, установив {background-repeat: repeat-x;} – jonhobbs

+0

Yep ... но это не html/css, поэтому вам нужно взломать вещи, которые вы ожидаете быть там, которые не являются , Поскольку вы не можете сделать это через repeat-x, я бы сделал макеты top/bottom с layout_height of wrap_content и предоставил им дочерний ImageView вместо фона. Сценарий ImageView src может быть вашим @drawable, который использует элемент растрового изображения с tileMode = repeat. Таким образом, все остается в динамическом размере (что явно является намерением богов Android) – Rich

0

Вы можете имитировать repeat-x, используя список слоев в качестве drawable. Вы рисуете растровое изображение как x, так и y, а затем используйте сплошную форму смещения, чтобы заполнить повторяющиеся y-изображения. Не совершенен, но будет выполнять эту работу.

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
<item> 
    <bitmap 
     android:src="@drawable/icon" 
     android:tileMode="repeat" /> 
</item> 
<item android:top="60dp"> 
    <shape > 
    <solid android:color="#FF000000" /> 
    </shape> 
</item> 
</layer-list> 
Смежные вопросы