如何使用Drawable

如何使用Drawable

我們常常在Android裡面想要畫一些圖形,
這時候就可以利用內建的一些基本圖形來使用,
繪製2D圖形有兩種方法:

第一種利用Android內建好的View來呈現, 例如ImageView, GridView, ListView…等等。
這一類的方式, 通常是你已經有畫好的一張圖片或多張圖片,
根據你的排列方式所呈現出來的圖形,
可能你的ListView想讓每一列的圖片在左邊, 文字在右邊,
又或者GridView想讓每一個item上面是圖形, 下方是文字之類的。

第二種是利用Canvas, 簡單來說它是一張畫布,
當你在畫布畫好圖形以後, 就幫你裝進圖像顯示物件(例如Drawable的相關子類別, ArcShape, OvalShape, RectShape…等等),
這些已經設定好的圖形, 可以藉由你所設定的參數來調整外觀, 大小或顏色等等屬性,
之後再製作成一種屬於你自己的View, 就等同第一種的方式,
再根據你自己的排列方式, 可以跟第一種系統內定的View做混搭。

也許前面的說明讓你看的有點模糊, 所以我們就來一些例子,
這樣或許讓你更了解這當中的差異。

首先進入到官方網站查看,
http://developer.android.com/reference/android/graphics/drawable/ShapeDrawable.html
有兩個建構子, 一個有傳入參數Shape, 另外一個沒有參數,
那麼我們就來看看可以畫什麼樣的圖形,
http://developer.android.com/reference/android/graphics/drawable/shapes/Shape.html
從上面網址點進去以後, 左邊有幾種圖形是Android幫你畫好的,

PathShape, RectShape, ArcShape, OvalShape, RoundRectShape