android 图片平铺实现
16lz
2021-01-23
android屏幕的实现方式,可以让同一张图片按顺序排列成一个整张大的图片,如何实现呢?请看一下三种实现方式,建议使用第二种实现方式,简单容易维护。
(1)第一种利用系统提供的api实现
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic);
//bitmap = Bitmap.createBitmap(200, 30, Config.ARGB_8888);
BitmapDrawable drawable = new BitmapDrawable(bitmap);
drawable.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT );
drawable.setDither(true);
view.setBackgroundDrawable(drawable);
(2)第二种使用xml来轻松实现
< bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/img"
android:tileMode="repeat" />
3)第三种自己画出来
public static Bitmap createRepeater(int width, Bitmap src){
int count = (width + src.getWidth() - 1) / src.getWidth();
Bitmap bitmap = Bitmap.createBitmap(width, src.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
for(int idx = 0; idx < count; ++ idx){
canvas.drawBitmap(src, idx * src.getWidth(), 0, null);
}
return bitmap;
}
(1)第一种利用系统提供的api实现
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic);
//bitmap = Bitmap.createBitmap(200, 30, Config.ARGB_8888);
BitmapDrawable drawable = new BitmapDrawable(bitmap);
drawable.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT );
drawable.setDither(true);
view.setBackgroundDrawable(drawable);
(2)第二种使用xml来轻松实现
< bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/img"
android:tileMode="repeat" />
3)第三种自己画出来
public static Bitmap createRepeater(int width, Bitmap src){
int count = (width + src.getWidth() - 1) / src.getWidth();
Bitmap bitmap = Bitmap.createBitmap(width, src.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
for(int idx = 0; idx < count; ++ idx){
canvas.drawBitmap(src, idx * src.getWidth(), 0, null);
}
return bitmap;
}
更多相关文章
- Android - 小功能 - Android系统详解之获取图片和视频的缩略图
- Android文字垂直滚动、纵向走马灯的几种实现方式
- android流式布局、待办事项应用、贝塞尔曲线、MVP+Rxjava+Retrof
- Android获取相册中图片的路径 4.4版本前后的变化
- Android IPC进程通信——Messager方式
- Android中的基础----在按钮上显示图像的方式
- Android实现计算器布局(四种布局方式)之LinearLayout线性布局
- 不支持gif动态图片