PolygonImageView - 多边形、圆形效果的自定义ImageView

jopen 9年前

PolygonImageView 是自定义ImageVie实现 多边形、圆形效果。

 运行效果:

PolygonImageView - 多边形、圆形效果的自定义ImageView

使用说明:


PolygonImageView - 多边形、圆形效果的自定义ImageView

PolygonImageView - 多边形、圆形效果的自定义ImageView

PolygonImageView - 多边形、圆形效果的自定义ImageView

PolygonImageView - 多边形、圆形效果的自定义ImageView

XML

    <net.grobas.view.PolygonImageView          android:layout_width="250dp"          android:layout_height="250dp"          android:src="@drawable/cat07"          app:poly_shadow="true"          app:poly_shadow_color="@android:color/black"          app:poly_border="true"          app:poly_border_color="@android:color/white"          app:poly_vertices="6"          app:poly_border_width="5dp"          app:poly_corner_radius="5"          app:poly_rotation_angle="25" />
属性:
    app:poly_vertices (integer) -> 默认 5          0 -> Circle          1 -> Regular ImageView, no affected by other properties          2 -> Square          >2 -> Polygon form      app:poly_shadow (boolean) -> 默认 false      app:poly_shadow_color (color) -> 默认 Black      app:poly_border (boolean) -> 默认 false      app:poly_border_color (color) -> 默认 White      app:poly_border_width (dimension) -> 默认 4dp      app:poly_corner_radius (float) -> 默认 0.0f      app:poly_rotation_angle (float) -> 默认 0.0f

JAVA

    LinearLayout layout = (LinearLayout) findViewById(R.id.layout);      PolygonImageView view = new PolygonImageView(this);      view.setImageResource(R.drawable.cat01);      view.addShadow(7.5f, 0f, 7.5f, Color.RED);      view.setBorder(true);      view.setBorderWidth(5);      view.setCornerRadius(5);      view.setBorderColorResource(android.R.color.white);      view.setVertices(6);      view.setPolygonShape(new StarPolygonShape(0.8f, false));      layout.addView(view);

效果

有三种基本效果:

  • RegularPolygonShape

  • PaperPolygonShape

  • StarPolygonShape

可以重写BasePolygonShape或者interface PolygonShape来创建你自己的效果

项目主页:http://www.open-open.com/lib/view/home/1434423011598