当前位置: 网学 > 编程文档 > Android > 正文

Android-实现背景平铺的几种常用方法

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: myeducs.cn 发布时间: 13/03/17

【网学网提醒】:以下是网学会员为您推荐的Android-实现背景平铺的几种常用方法,希望本篇文章对您学习有所帮助。


    创建重复的背景图片
    在drawable目录下创建一个repeat_bg.xml:
    
    然后在布局的xml文件中可以这样引用:
    
    =================================================
    tileMode属性就是用于定义背景的显示模式:
    disabled
    默认值,表示不使用平铺
    clamp
    复制边缘色彩
    repeat
    X、Y轴进行重复图片显示,也就是我们说要说的平铺
    mirror
    在水平和垂直方向上使用交替镜像的方式重复图片的绘制
    ===============================================
    图片平铺的三种方式:
    1)第一种利用系统提供的api实现
    Bitmapbitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pic);
    //bitmap=Bitmap.createBitmap(100,20,Config.ARGB_8888);
    BitmapDrawabledrawable=newBitmapDrawable(bitmap);
    drawable.setTileModeXY(TileMode.REPEAT,TileMode.REPEAT);
    drawable.setDither(true);
    view.setBackgroundDrawable(drawable);
    Bitmapbitmap=BitmapFactory.decodeResource(getResources(),R.drawable.pic);
    //bitmap=Bitmap.createBitmap(100,20,Config.ARGB_8888);
    BitmapDrawabledrawable=newBitmapDrawable(bitmap);
    drawable.setTileModeXY(TileMode.REPEAT,TileMode.REPEAT);
    drawable.setDither(true);
    view.setBackgroundDrawable(drawable);
    
    2)第二种我们使用xml来轻松实现
        android:tileMode="repeat"/>
    
    3)第三种自己画出来
    publicstaticBitmapcreateRepeater(intwidth,Bitmapsrc){
    intcount=(width+src.getWidth()-1)/src.getWidth();
    Bitmapbitmap=Bitmap.createBitmap(width,src.getHeight(),Config.ARGB_8888);
    Canvascanvas=newCanvas(bitmap);
    for(intidx=0;idx    canvas.drawBitmap(src,idx*src.getWidth(),0,null);
    }
    returnbitmap;
    }
    publicstaticBitmapcreateRepeater(intwidth,Bitmapsrc){
    intcount=(width+src.getWidth()-1)/src.getWidth();
    Bitmapbitmap=Bitmap.createBitmap(width,src.getHeight(),Config.ARGB_8888);
    Canvascanvas=newCanvas(bitmap);
    for(intidx=0;idx    canvas.drawBitmap(src,idx*src.getWidth(),0,null);
    }
    returnbitmap;
    }
    

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号