如何在不裁剪图片的情况下重复制作Android应用程序的背景图像

时间:2014-12-07 10:32:28

标签: android

我在我的应用程序中设置了重复的背景图像,但背景图像被裁剪,我希望它重复并填充整个屏幕而不进行裁剪。也许是向上或向下舍入。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以通过getMeasuredWidth()

检测View的尺寸

使用Canvas和Bitmap为它绘制一个合适的背景

说你的照片是100 x 50,视图是635 x 50

int viewWidth, picWidth. viewHeight;
Bitmap pic;
Paint paint;
// set corresponding values in the variables above

Canvas c=new Canvas();
Bitmap b=Bitmap.createBitmap(viewWidth, viewHeight,Config.ARGB_8888);
c.setBitmap(b);
int noOfPics= viewWidth/picWidth;

int margin=(viewWidth-(noOfPics*picWidth))/(noOfPics-1);

for(int i=0;i<noOfPics;i++){
    c.drawBitmap(pic, i*picWidth+margin*(i-1),0,paint);
}