各種形狀總有一個滿足你。
在自己的項目中使用,最好不要將所有的類都導入進來,取自己需要的就可以了。
<com.github.siyamed.shapeimageview.BubbleImageView android:id="@+id/image" android:layout_width="50dp" android:layout_height="42dp" app:siTriangleHeight="8dp" tools:src="@drawable/neo" android:layout_alignParentLeft="true" app:siArrowPosition="right"/> <com.github.siyamed.shapeimageview.CircularImageView android:id="@+id/relative_test_img_1" android:layout_width="60dp" android:layout_height="60dp" android:layout_margin="8dp" android:layout_weight="1" android:src="@drawable/placeholder" app:siBorderWidth="6dp" app:siBorderColor="@color/darkgray" android:layout_alignParentLeft="true" android:layout_centerVertical="true"/> <com.github.siyamed.shapeimageview.RoundedImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:layout_margin="8dp" android:src="@drawable/neo" app:siRadius="6dp" app:siBorderWidth="6dp" app:siBorderColor="@color/darkgray" app:siSquare="true"/> <com.github.siyamed.shapeimageview.mask.PorterShapeImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:layout_margin="8dp" app:siShape="@drawable/triangle" android:src="@drawable/neo" app:siSquare="true"/> <com.github.siyamed.shapeimageview.mask.PorterShapeImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:layout_margin="8dp" app:siShape="@drawable/octogon" android:src="@drawable/neo" app:siSquare="true"/> <com.github.siyamed.shapeimageview.mask.PorterShapeImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:layout_margin="8dp" app:siShape="@drawable/star" android:src="@drawable/neo" app:siSquare="true"/> <com.github.siyamed.shapeimageview.DiamondImageView android:layout_width="250dp" android:layout_height="250dp" android:layout_margin="8dp" android:src="@drawable/neo" app:siBorderWidth="8dp" app:siBorderColor="@color/darkgray" android:layout_gravity="center_horizontal"/> <com.github.siyamed.shapeimageview.PentagonImageView android:layout_width="250dp" android:layout_height="250dp" android:layout_margin="8dp" android:src="@drawable/neo" app:siBorderWidth="8dp" app:siBorderColor="@color/darkgray" android:layout_gravity="center_horizontal"/> <com.github.siyamed.shapeimageview.HexagonImageView android:layout_width="250dp" android:layout_height="250dp" android:layout_margin="8dp" android:src="@drawable/neo" app:siBorderWidth="8dp" app:siBorderColor="@color/darkgray" android:layout_gravity="center_horizontal"/> <com.github.siyamed.shapeimageview.OctogonImageView android:layout_width="250dp" android:layout_height="250dp" android:layout_margin="8dp" android:src="@drawable/neo" app:siBorderWidth="8dp" app:siBorderColor="@color/darkgray" android:layout_gravity="center_horizontal"/> <com.github.siyamed.shapeimageview.HeartImageView android:layout_width="250dp" android:layout_height="250dp" android:layout_margin="8dp" android:src="@drawable/neo" app:siBorderWidth="8dp" app:siBorderColor="@color/darkgray" android:layout_gravity="center_horizontal"/> <com.github.siyamed.shapeimageview.StarImageView android:layout_width="250dp" android:layout_height="250dp" android:layout_margin="8dp" android:src="@drawable/neo" app:siBorderWidth="8dp" app:siBorderColor="@color/darkgray" app:siStrokeCap="round" app:siStrokeJoin="round" android:layout_gravity="center_horizontal"/> <com.github.siyamed.shapeimageview.StarImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="8dp" android:src="@drawable/neo" app:siBorderWidth="8dp" app:siBorderColor="@color/darkgray" app:siStrokeCap="round" app:siStrokeJoin="round" android:layout_gravity="center_horizontal"/>
Android開源:SImageView - 方便實用的圖片控件
http://www.open-open.com/lib/view/open1482459625909.html
Library for display a few images in one MultiImageView like avatar of group chat
https://github.com/stfalcon-studio/MultiImageView
Android-Snowfall
https://github.com/JetradarMobile/android-snowfall