解决方案 »
- 关于android ndk jni的基础问题
- 初涉Android开发,读取手机号码薄
- 关于android中AsyncTask和jni技术简单应用--附源码
- imageButton 报错空指针
- android社交app用了哪些技术?
- 安卓中layout在没有导入import android.R;的情况下没有读出来是怎么回事
- 新人开发i jetty项目 TrafficStats类怎么用?
- '""C:\Program' 不是内部或外部命令,也不是可运行的程序
- android6.0 MediaRecorder录像,想通过setOutputFile(sender.getFileDescriptor()),获取流,启动失败
- android应用的界面设计主流是什么?是布局还是HTML
- 反编译改包名的问题
- 请教大神们一个问题
目前我想到的实现是利用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);
}