Android View 设置背景

原文 http://blog.sina.com.cn/s/blog_892efd6001010wi1.html

1.Android背景平铺

android中达到类似于windows桌面背景的平铺的效果,定义一个bitmap对象,在xml中和代码中均可,设置其tileMode为repeat。在drawable文件夹下建立如下文件tilebg.xml:
Java代码 
    <?xml version ="1.0" encoding ="utf-8" ?>  
    <bitmap xmlns:android ="http://schemas.android.com/apk/res/android"  
       android:src ="@drawable/pattern"  
       android:tileMode ="repeat" />  
其中pattern为需要平铺的图片,tileMode 属性定义平铺方向。在需要的地方设置background="@drawable/tilebg" 


 

tileMode 属性就是用于定义背景的显示模式:

disabled
    默认值,表示不使用平铺
clamp
    复制边缘色彩
repeat
    X、Y 轴进行重复图片显示,也就是我们说要说的平铺
mirror

    在水平和垂直方向上使用交替镜像的方式重复图片的绘制


2.Android 透明背景
Java代码  

    View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id  
    v.getBackground().setAlpha(100);//0~255透明度值   

 

3.Android:ListView 自定义背景

在使用Android的ListView时候,我们通常都会添加一张背景图片,

很简单,只要在xml里面定义android:background="@drawable/background"即可。

但这样做以后,当拖动list或者 点击list空白位置的时候,ListItem都变成黑色。

这是因为默认的ListItem背景是透明的,而ListView的背景是固定不变的,

所以在 滚动条滚动的过程中如果实时地去将当前每个Item的显示内容跟背景进行混合运算,

android系统为了优化这个过程,使用了一个叫做 android:cacheColorHint的属性,

在黑色主题下默认的颜色值是#191919,所以有一半是黑色的。

如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色,

如果你是用图片做背景的话,那也只要将android:cacheColorHint 指定为透明(#000000)就可以了,
+
+ 注意,一定是 0 ,如果是 android.R.color.transparent,会出黑色或白色背景
+ 选择时还会出现其他背景,设置 selector 为 android.R.color.transparent (透明)才彻底清除选中时的背景色。
+ by player
+
当然为了美化是要牺牲一些效率的
posted @ 2013-06-25 09:30  playerc  阅读(1618)  评论(0编辑  收藏  举报
c4io.com Count Visitors
Web Counter