关于android布局的两个属性dither和tileMode

来源:互联网 发布:js获取class元素 编辑:程序博客网 时间:2024/06/04 19:53

文章出处:http://blog.csdn.net/superjunjin/article/details/7670864

 

首先,两个单词的中文意思分别是dither(抖动)和tileMode(平铺)


1,先来介绍tileMode(平铺)

它的效果类似于 让背景小图不是拉伸而是多个重复(类似于将一张小图设置电脑桌面时的效果)

[html] view plaincopy
  1. <xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayout
  3. android:id="@+id/MainLayout"
  4. xmlns:android="http://schemas.android.com/apk/res/android"
  5. android:layout_width="fill_parent"
  6. android:layout_height="fill_parent"
  7. android:orientation="vertical"
  8. android:background="@drawable/backrepeat"
  9. >


backrepeat.xml

[html] view plaincopy
  1. <bitmap
  2. xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:src="@drawable/repeatimg"
  4. android:tileMode="repeat"
  5. android:dither="true"/>


代码方式:

[java] view plaincopy
  1. Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
  2. BitmapDrawable bd =new BitmapDrawable(bitmap);
  3. bd.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT );
  4. bd.setDither(true);
  5. view.setBackgroundDrawable(bd);

2,再来解释下 dither(抖动)

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