第一种方法:在drawable文件夹中添加自己的mybg.xml文件,描述如:
mybg.xml代码
<?xml
version ="1.0" encoding ="utf-8" ?>
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/bg"
android:tileMode="repeat" />
/***********************************************属性详解start****************************************************/
其中pattern为需要平铺的图片,tileMode 属性定义平铺方向。在需要的地方设置background="@drawable/tilebg"
tileMode 属性就是用于定义背景的显示模式:
- disabled
- 默认值,表示不使用平铺
- clamp
- 复制边缘色彩
- repeat
- X、Y 轴进行重复图片显示,也就是我们说要说的平铺
- mirror
-
在水平和垂直方向上使用交替镜像的方式重复图片的绘制
/***********************************************属性详解end****************************************************/
然后再需要用的地方使用:
Xml代码
android:background="@drawable/mybg"
第二种方法:代码实现方式:
Bitmap
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
BitmapDrawable bd = new BitmapDrawable(bitmap);
bd.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT );
bd.setDither(true);
view.setBackgroundDrawable(bd);
再着可以用*.9.png实现。
可以在上左两边添加要延伸的像素行
另一:
Android 透明背景
View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id
v.getBackground().setAlpha(100);//0~255透明度值
另二:
Android:ListView 自定义背景
在使用Android的ListView时候,我们通常都会添加一张背景图片,
很简单,只要在xml里面定义android:background="@drawable/background"即可。
但这样做以后,当拖动list或者 点击list空白位置的时候,ListItem都变成黑色。
这是因为默认的ListItem背景是透明的,而ListView的背景是固定不变的,
所以在 滚动条滚动的过程中如果实时地去将当前每个Item的显示内容跟背景进行混合运算,
android系统为了优化这个过程,使用了一个叫做 android:cacheColorHint的属性,
在黑色主题下默认的颜色值是#191919,所以有一半是黑色的。
如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色,
如果你是用图片做背景的话,那也只要将android:cacheColorHint 指定为透明(#000000)就可以了,
当然为了美化是要牺牲一些效率的