Очень просто повторять по горизонтали и вертикали фон линейного макета в приложении для 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" по вертикали в моей деятельности?