Android項目實戰(九):CustomShapeImageView 自定義形狀的ImageView
一個兩年前出來的第三方類庫,具有不限於圓形ImageView的多種形狀ImageView,項目開發必備
github下載地址:https://github.com/MostafaGazar/CustomShapeImageView
1、首先源碼中有一個第三方類庫 :library
先要把Library導入到項目中,
不會的可以看下導入方法:關於Eclipse 和 IDEA 導入library庫文件 的步驟
2、源碼中res文件夾下有一個raw文件夾 復制到自己的項目中(選擇性復制,是一些特殊的圖形)
可以看到這裏有一堆.svg格式的文件。
SVG可以算是目前最最火熱的圖片文件格式,這裏作者已經給我們寫好了幾個特殊的圖形
如果想要自定義更多形狀的話,可以學習下SVG
1、shape_5.svg 五邊形
2、shape_circle_2.svg 貝殼形
3、shape_flower.svg 花形
4、shape_heart.svg 心形
5、shape_star 星形1
6、shape_star 星形2
7、shape_star 星形3
3、接下來就是使用了
如果我們使用raw文件夾下的svg寫的形狀作為ImageView的形狀
則:這裏一個app:svg_raw_resource="@raw/shape_star_3" 這裏就是指定圖片形狀為res/raw文件夾下的哪一個
1 <com.meg7.widget.SvgImageView 2 android:layout_width="50dp" 3 android:layout_height="50dp" 4 android:src="@drawable/hydrangeas" 5 app:svg_raw_resource="@raw/shape_star_3" 6 android:scaleType="centerCrop" />
重點來了:
實際開發,最常用的莫過於圓形圖片了,那麽上面幾個都是特殊圖形,要使用圓形ImageView怎麽辦?
看類庫,幾個源碼
BaseImageView.java 是基本類
而CircleImageView.java類則是繼承BaseImageView.java的類,用於圓形ImageView
使用: 這個就簡單了,和普通ImageView一樣使用,標簽變了而已
1 <com.meg7.widget.CircleImageView 2 android:layout_width="100dp" 3 android:layout_height="100dp" 4 android:src="@drawable/hydrangeas" 5 android:scaleType="centerCrop" />
長方形ImageView :RectangleImageView.java
1 <com.meg7.widget.RectangleImageView 2 android:layout_width="100dp" 3 android:layout_height="100dp" 4 android:src="@drawable/hydrangeas" 5 android:scaleType="centerCrop" />
以上便是主要需要的部分了。
源碼中CustomShapeImageView.java看了下源碼是默認顯示圓形圖片的ImageView,裏面有圓形,方形,自定義形,看情況使用了,個人感覺,以上的幾個使用起來就足夠了。
相關知識:
自定義圓形圖片
Android項目實戰(九):CustomShapeImageView 自定義形狀的ImageView