zoukankan      html  css  js  c++  java
  • android背景平铺方式 tileMode

    创建重复的背景图片 
    在drawable目录下创建一个repeat_bg.xml: 
     
    然后在布局的xml文件中可以这样引用: 
     
    =================================================
    tileMode 属性就是用于定义背景的显示模式: 
    disabled 
    默认值,表示不使用平铺 
    clamp 
    复制边缘色彩 
    repeat 
    X、Y 轴进行重复图片显示,也就是我们说要说的平铺 
    mirror 
    在水平和垂直方向上使用交替镜像的方式重复图片的绘制
     
    ===============================================
    图片平铺的三种方式:
      1)第一种利用系统提供的api实现
       
     1 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic);
     2    //bitmap = Bitmap.createBitmap(100, 20, Config.ARGB_8888);
     3    BitmapDrawable drawable = new BitmapDrawable(bitmap);
     4    drawable.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT );
     5    drawable.setDither(true);
     6    view.setBackgroundDrawable(drawable);
     7    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic);
     8    //bitmap = Bitmap.createBitmap(100, 20, Config.ARGB_8888);
     9    BitmapDrawable drawable = new BitmapDrawable(bitmap);
    10    drawable.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT );
    11    drawable.setDither(true);
    12    view.setBackgroundDrawable(drawable);
     
      2)第二种我们使用xml来轻松实现
       
    < bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/img"
      android:tileMode="repeat" />
     
      3)第三种自己画出来
      
     1  < span style="white-space: normal;">< span style="white-space: pre;">public static Bitmap createRepeater(int width, Bitmap src){< /span>< /span>
     2    int count = (width + src.getWidth() - 1) / src.getWidth();
     3    Bitmap bitmap = Bitmap.createBitmap(width, src.getHeight(), Config.ARGB_8888);
     4    Canvas canvas = new Canvas(bitmap);
     5    for(int idx = 0; idx < count; ++ idx){
     6    canvas.drawBitmap(src, idx * src.getWidth(), 0, null);
     7    }
     8    return bitmap;
     9    }
    10   public static Bitmap createRepeater(int width, Bitmap src){
    11      int count = (width + src.getWidth() - 1) / src.getWidth();
    12     Bitmap bitmap = Bitmap.createBitmap(width, src.getHeight(), Config.ARGB_8888);
    13     Canvas canvas = new Canvas(bitmap);
    14     for(int idx = 0; idx < count; ++ idx){
    15     canvas.drawBitmap(src, idx * src.getWidth(), 0, null);
    16   }
    17   return bitmap;
     
    转自:http://blog.sina.com.cn/s/blog_769500f00101czfs.html
  • 相关阅读:
    分享:liblfds 6.1.0 发布,C 数据结构库
    strchr C++ Reference
    爱上MVC3系列~PartialView中的页面重定向
    基础才是重中之重~Conditional特性使代码根据条件在debug或者release模式中执行
    爱上MVC3系列~Html.BeginForm与Ajax.BeginForm
    爱上MVC3系列~Razor页面中的共享namespace不起作用了(解决自定义扩展方法不能识别的问题)
    爱上MVC3系列~RenderAction与RenderPartial及一个页面多个表单提交
    NHibernate Criteria中的And, Or
    poj 2528 Mayor's posters(线段树区点)
    探索iptables BPF模块的悲惨历程
  • 原文地址:https://www.cnblogs.com/Sharley/p/5564386.html
Copyright © 2011-2022 走看看