解决方案 »
- tabHost在WVGA800时只显示一半
- 请教ContentProvider openFile的用法
- 最近想弄一下Android,但是不知道从哪儿入手!请高手指定一下,3Q
- byte 转化 kb 为什么要加1023然后除以1024
- 如何做一个可以像微信tab栏那样回退时回退到tab栏的某一项
- 如何获取时间值
- Android下载图片显示问题
- 关于phonegap调用已有数据库问题。
- Android手机+OTG+串口设备+电脑
- 在eclipse中适配Android8.0,Android采用的是androidannootations不能自动生成apt_generated
- 反编译改包名的问题
- 请教大神们一个问题
目前我想到的实现是利用Canvas的clipPath来剪裁区域,至于是什么形状的,可以自己定义,显示的图片就是这个形状所圈住的区域。 //生命一个path并初始化中获取
path = getSixShape(bmp.getWidth(), bmp.getHeight()); private Path getSixShape(int width, int height){//Path自己定义,显示的效果自己可以设计算法
int bx = background.getWidth() / 4;
int by = background.getHeight() / 2;
Path path = new Path();
path.moveTo(bx, 0);
path.lineTo(bx * 3, 0);
path.lineTo(background.getWidth(), by);
path.lineTo(bx * 3, background.getHeight());
path.lineTo(bx, background.getHeight());
path.lineTo(0, by);
path.moveTo(bx, 0);
path.close();
return path;
} @Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.clipPath(path);
canvas.drawBitmap(bmp, 0, 0, paint);
}