android布局的两个属性dither和tileMode

来源:互联网 发布:著名软件培训学校 编辑:程序博客网 时间:2024/05/17 09:15

1.tileMode(平铺)属性:

它的效果为让背景用同一张图重复使用铺满整个画布,而不是一张图拉伸后铺满整个画布。它有三个属性值:

repeat:重复使用; 

mirror:和repeat相似,不同的是每两行图以镜面倒映的方式显示     

clamp: 保持原图不变

repeat效果:

    

mirror效果:

页面布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >   <LinearLayout      android:layout_width="match_parent"     android:layout_height="match_parent"     android:layout_weight="1"     android:background="@drawable/ic_launcher">      </LinearLayout>  <LinearLayout      android:layout_width="match_parent"     android:layout_height="match_parent"     android:layout_weight="1"     android:background="@drawable/repeat">      </LinearLayout></LinearLayout>


repeat.xml文件:

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


使用代码方式设置:

public static void setBackGroupdRepeat(View view,Context context,int iconId){Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), iconId);BitmapDrawable bd = new BitmapDrawable(bitmap);bd.setTileModeXY(TileMode.REPEAT, TileMode.REPEAT);bd.setDither(true);view.setBackground(bd);}

2:dither(抖动)属性

Dither(图像的抖动处理,当每个颜色值以低于8位表示时,对应图像做抖动处理可以实现在可显示颜色总数比较低(比如256色)时还保持较好的显示效果。

它不仅在xml属性中使用,Paint类中也有此属性:paint.setDither(true);  





0 0
原创粉丝点击