Как добавить вертикальный (только) фон в приложение для Android - PullRequest
2 голосов
/ 07 мая 2011

Очень просто повторять по горизонтали и вертикали фон линейного макета в приложении для Android. Вам просто нужно использовать tileMode (см. Как заставить фоновое изображение Android-приложения повторяться )

Однако tileMode в XML-файле не позволяет мне повторять фоновое изображение только по вертикальной оси. Существует tileModeY, но вы не можете получить к нему доступ из XML.

Я пытаюсь изменить это свойство, чтобы "повторить".

У меня есть файл main.xml с линейной компоновкой:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
              android:id="@+id/mainMenuLayout" 
              android:orientation="vertical"
              android:gravity="center_horizontal" 
              android:layout_width="fill_parent" 
              android:layout_height="fill_parent">

У меня есть изображение в drawable / welcomebackground.png, а также XML-файл для изображения в drawable / welcomebackgroundpattern.xml:

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

В своей деятельности я пробовал это:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Resources res = getResources();
    BitmapDrawable background = (BitmapDrawable) res.getDrawable(R.drawable.welcomebackground);
    background.setTileModeY(Shader.TileMode.REPEAT);
    (new View(this)).setBackgroundResource(R.drawable.welcomebackground);
    }

Но мой фон все еще черный. Конечно, я могу добавить его из xml, но он повторяется по осям x и y.

Так что мой вопрос довольно прост: как я могу повторить изображение "welcomebackground" по вертикали в моей деятельности?

1 Ответ

1 голос
/ 16 мая 2011
...