天天看點

android .9圖檔詳解及應用

.9.png是幹什麼用的呢?這裡我就不再說明了。

我們知道.9.png圖檔的上下左右都有1px寬度且長度任意的黑線,那麼這些黑線的作用是什麼呢?可以總結成一句話“左上拉伸,右下填充”,就是說左邊和上邊的黑色線條表示是可以拉伸的區域,右邊和下邊的黑線表示内容填充的區域。這麼說,可能不是很好了解,下面會有例子加以說明。

我們先來看張.9.png的圖:

android .9圖檔詳解及應用

左邊和上邊的黑線對應可以拉伸的區域,黑線以外的區域不能拉伸。

右邊和下邊的黑線表示填充的内容的區域。比方說,TextView的背景就是這個.9圖檔,那麼我們設定的text最左邊的位置就是下邊黑線的起始位置;最右邊的位置就是下邊黑線的結束位置;同理,最上面的位置就是右邊黑線的起始位置;最下面的位置就是右邊黑線的結束位置。後續會有例子來說明。

為了舉例說明,那就得自己制作.9.png圖檔啦,方法很簡單,直接運作android-sdk-windows\tools目錄下的Draw9Patch.bat。下面是我制作好的.9.png。

android .9圖檔詳解及應用

這個圖檔是原圖,有點小,我放大點看:

android .9圖檔詳解及應用

可以看到4條黑線的具體位置。上邊的黑線表示水準拉伸的區域,左邊黑線表示豎直拉伸的區域,拉伸的效果如右邊的3個小圖所示。可以看出拉伸對應區域。

下面寫個例子來說明,看看内容填充的位置是不是對應的右邊和下邊的區域。我制作的這個.9圖,下邊的黑線距離左邊是31px,距離右邊是15px.

<ImageView 
        android:layout_marginLeft="20px"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/tag"
        android:src="@drawable/music_home_nav_cursor"
        />
           

就是為ImageView 設定背景,背景就是剛才的制作的.9.png圖。效果如下:

android .9圖檔詳解及應用

得到的圖檔後,用畫圖工具打開這個這張圖檔,發現,藍色圖檔的位置距離最左邊幾近于31px,距離右邊的距離也接近于15px。可以發現右、下的黑線就是确定填充内容區域。