【网学网提醒】:以下是网学会员为您推荐的Android-实现背景平铺的几种常用方法,希望本篇文章对您学习有所帮助。
创建重复的背景
图片 在drawable目录下创建一个repeat_bg.xml:
然后在布局的xml文件中可以这样引用:
=================================================
tileMode属性就是用于定义背景的显示模式:
disabled
默认值,表示不使用平铺
clamp
复制边缘色彩
repeat
X、Y轴进行重复图片显示,也就是我们说要说的平铺
mirror
在水平和垂直方向上使用交替镜像的方式重复图片的绘制
===============================================
图片平铺的三种方式:
1)第一种利用系统提供的api实现
Bitmapbitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pic);
//bitmap=Bitmap.createBitmap(100,20,Config.ARGB_8888);
BitmapDrawabledrawable=newBitmapDrawable(bitmap);
drawable.setTileModeXY(TileMode.REPEAT,TileMode.REPEAT);
drawable.setDither(true);
view.setBackgroundDrawable(drawable);
Bitmapbitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pic);
//bitmap=Bitmap.createBitmap(100,20,Config.ARGB_8888);
BitmapDrawabledrawable=newBitmapDrawable(bitmap);
drawable.setTileModeXY(TileMode.REPEAT,TileMode.REPEAT);
drawable.setDither(true);
view.setBackgroundDrawable(drawable);
2)第二种我们使用xml来轻松实现
android:tileMode="repeat"/>
3)第三种自己画出来
publicstaticBitmapcreateRepeater(intwidth,Bitmapsrc){
intcount=(width+src.getWidth()-1)/src.getWidth();
Bitmapbitmap=Bitmap.createBitmap(width,src.getHeight(),Config.ARGB_8888);
Canvascanvas=newCanvas(bitmap);
for(intidx=0;idx canvas.drawBitmap(src,idx*src.getWidth(),0,null);
}
returnbitmap;
}
publicstaticBitmapcreateRepeater(intwidth,Bitmapsrc){
intcount=(width+src.getWidth()-1)/src.getWidth();
Bitmapbitmap=Bitmap.createBitmap(width,src.getHeight(),Config.ARGB_8888);
Canvascanvas=newCanvas(bitmap);
for(intidx=0;idx canvas.drawBitmap(src,idx*src.getWidth(),0,null);
}
returnbitmap;
}