Android(安卓)图片平铺效果bitmap
16lz
2021-01-26
我们大家都看过平铺的效果,那么我们都是怎么样才能实现的那,我们其实主要用到的就是api,我们一开始new一个bitmap,就可以了,但是,大家都没有想过,我们还可以用什么方法来做这个事情那,那么我们就来说说第二种方法,那就在用到了xml,上面我们说了两个方法,但Android是非常强大的,也就是说我们还有第三个方法,那就是我们自己画出来,那么我们就来看看代码吧:
1)第一种利用系统提供的api实现
1)第一种利用系统提供的api实现
1 | Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic); |
2 |
3 | //bitmap = Bitmap.createBitmap(100, 20, Config.ARGB_8888); |
4 | BitmapDrawable drawable = new BitmapDrawable(bitmap); |
5 | drawable.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT ); |
6 | drawable.setDither( true ); |
7 | view.setBackgroundDrawable(drawable); |
2)第二种我们使用xml来轻松实现
1 | < bitmap xmlns:Android = "http://schemas.android.com/apk/res/android" |
2 |
android:src = "../../@drawable/img" |
3 |
Android:tileMode = "repeat" /> |
3)第三种自己画出来
01 | public static Bitmap createRepeater( int width, Bitmap src){ |
02 | int count = (width + src.getWidth() - 1 ) / src.getWidth(); |
03 |
04 | Bitmap bitmap = Bitmap.createBitmap(width, src.getHeight(), Config.ARGB_8888); |
05 | Canvas canvas = new Canvas(bitmap); |
06 |
07 | for ( int idx = 0 ; idx < count; ++ idx){ |
08 | canvas.drawBitmap(src, idx * src.getWidth(), 0 , null ); |
09 | } |
10 |
11 | return bitmap; |
12 | } |
更多相关文章
- 热更新-Android与Lua相互通信
- android中bitmap压缩的几种方法详解
- android vold初始化及sd卡挂载流程
- Android(安卓)onTouchEvent 返回值不同时对事件的传递的影响
- 【Android(安卓)前沿技术】用MediaPlayer+TextureView封装好的视
- Android获取View的宽度和高度
- Android(安卓)6.0以上权限拒绝打开权限设置界面的解决方法
- 大厂面试,居然还问这些问题!
- Android(安卓)字体国际化适配方法以及源码解析