最近研究android的2D图形,在android中,画多边形的方法很多,这里提供一个简单的方法。 用Path来实现。 Path path = new Path(); path.moveTo(50, 50); path.lineTo(100, 50); path.lineTo(100, 0); path.lineTo(150, 0); path.lineTo(150, 50); path.lineTo(200, 50); path.lineTo(200, 100); path.lineTo(250, 100); path.lineTo(250, 150); path.lineTo(200, 150); path.lineTo(200, 200); path.lineTo(150, 200); path.lineTo(150, 250); path.lineTo(100, 250); path.lineTo(100, 200); path.lineTo(50, 200); path.lineTo(50, 150); path.lineTo(0, 150); path.lineTo(0, 100); path.lineTo(50, 100); path.close(); //生成多边形 mDrawable = new ShapeDrawable(new PathShape(path, 250, 250)); //mDrawable.getPaint().setColor(Color.RED); Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.test); Bitmap b1 = Bitmap.createBitmap(bitmap, 0, 0, 250, 250); //生成符合多边形大小的位图,避免出现分辨率问题 Shader aShader = new BitmapShader(b1, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT); mDrawable.getPaint().setShader(aShader); //填充位图 mDrawable.setBounds(0,0,250,250); //设置边界尺寸 复制代码 最终生成如图示