最近研究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); //设置边界尺寸

最终生成如图示

原文地址:http://www.xiaojxiao.net/?p=49

更多相关文章

  1. Android Selector和Shape的使用方法
  2. android内核编译方法
  3. View类xml属性、方法
  4. 【Android 开发】:UI控件之显示图片控件 ImageView 的使用方法
  5. Android与JavaScript方法相互调用!
  6. Android 系统音量最大值的定义位置以及默认值的修改方法
  7. Android AlertDialog的基本使用方法

随机推荐

  1. MySql新手入门的基本操作汇总
  2. 浅谈mysql执行过程以及顺序
  3. mysql 8.0.24版本安装配置方法图文教程
  4. MySQL 如何分析查询性能
  5. mysql 8.0.24 安装配置方法图文教程
  6. 如何用Navicat操作MySQL
  7. MySQL EXPLAIN输出列的详细解释
  8. MySQL 分页查询的优化技巧
  9. MySql学习笔记之事务隔离级别详解
  10. MySQL 分组查询的优化方法