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

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

1,先来介绍tileMode(平铺)

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

[html] view plaincopy
 
 
  1. <xml version="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

原文地址:https://www.cnblogs.com/xiaorenwu702/p/4419492.html