Android Bitmap Tile только на X

Я хочу использовать Bitmap, что плитка только по горизонтали, есть ли способ сделать это, так что он будет расширяться только на X, как повторить x на CSS. Я использую следующий код, но растровая плитка Горизонтальная и вертикальная:

<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/pinstripe" android:tileMode="repeat" android:gravity ="top|fill_horizontal" android:dither="true"/> 

Solutions Collecting From Web of "Android Bitmap Tile только на X"

Вот решение. Вы можете создать BitmapDrawable в коде и указать только режим X-плитки Android Tile Bitmap

Я хотел повторить фон только по вертикали, но я не мог найти подходящего решения там, поэтому я написал это самостоятельно, надеюсь, что это может помочь кому-то там *

 /** * Created by LeoLink on 2014-06-24. */ public class VerticallyRepeatedBackgroundLinearLayout extends LinearLayout { private int width, height; private RectF mRect; public VerticallyRepeatedBackgroundLinearLayout(Context context) { super(context); init(context); } public VerticallyRepeatedBackgroundLinearLayout(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public VerticallyRepeatedBackgroundLinearLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(context); } private void init(Context context) { setWillNotDraw(false); mRect = new RectF(); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); if (oldw == 0 && oldh == 0 && w > 0 && h > 0) { width = w; height = h; } } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // clear the canvas canvas.drawColor(Color.WHITE); // draw Drawable bg = getBackground(); Bitmap bm = ((BitmapDrawable)bg).getBitmap(); int w = bg.getIntrinsicWidth(); int h = bg.getIntrinsicHeight(); int drawWidth = width; int drawHeight = drawWidth * h / w; int bottom = 0; while (height > bottom) { mRect.set(0, bottom, drawWidth, bottom + drawHeight); canvas.drawBitmap(bm, null, mRect, null); bottom += drawHeight; } } } 

И в вашем XML

 <com.blah.blah.VerticallyRepeatedBackgroundLinearLayout android:id="@+id/collection_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/your_tile_bg"> </com.blah.blah.VerticallyRepeatedBackgroundLinearLayout>