Только в режиме X - PullRequest
       12

Только в режиме X

0 голосов
/ 26 июля 2011

У меня есть XML-файл:

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

У меня есть заголовок, и я хотел бы повторить рисование только в X и растянуть его в Y. Как я могу сделать это в xml.

первая попытка: Я удаляю свой xml, и я сделал это в начале своей деятельности:

BitmapDrawable bp =(BitmapDrawable)getResources().getDrawable(R.drawable.header);
bp.setTileModeX(TileMode.REPEAT);
LinearLayout layout = (LinearLayout)findViewById(R.id.headerRedLayout);
layout.setBackgroundDrawable(bp);

Отлично работает, но хотелось бы, чтобы повтор начинался внизу макета

1 Ответ

0 голосов
/ 26 июля 2011

В методе onDraw () сделайте это

, имейте в виду, R.drawable.bg_tile - ваше изображение

protected void onDraw (Canvas canvas) {
    bgTile = BitmapFactory.decodeResource(context.getResources(), R.drawable.bg_tile);

    float left = 0;
    float top = 0;
    float bgTileWidth = bgTile.getWidth();

    int screenWidth  = canvas.getWidth(); //Not sure of this
    int screenHeight = canvas.getHeight(); //Not sure of this too

    while (left < screenWidth) {
        canvas.drawBitmap(
               bgTile,
               null,
               new Rect(left,top,left+bgTileWidth,screenHeight),
               null
               );
        left += bgTileWidth;
    }
}
...