android矢量圖使用及踩坑記錄

一做瞪、由于png宇立、jpg圖片占用內(nèi)存大,所以從android5.0開始支持一種全新的矢量圖国撵,svg格式的圖蹈丸。這種圖優(yōu)勢大成黄,占用內(nèi)存小呐芥,且縮放后依舊清晰。那么如何使用呢奋岁?

二思瘟、設計一般會給出png及svg格式的兩種圖,如果用png格式的話闻伶,建議先用tinyPng進行壓縮后再使用滨攻,一般使用一套就可以了,不用每個分辨率下都放一套圖片蓝翰。svg格式的圖就是矢量圖光绕,導入as中是以xml文件形式存在的。導入步驟如下:

? ? ?右鍵點擊drawable文件夾 ---> 點擊new ---> 點擊Vector Asset ---> 出現(xiàn)下圖所示:

選擇Local file畜份,Name處為自己對這個xml文件的命名诞帐,Path為本地路徑,即svg圖片所在的位置漂坏。如果選擇Override的話景埃,則其Size默認大小為svg本身的大小,也可以進行按需更改顶别。選擇Enable的話谷徙,則該矢量圖會在RTL布局中自動鏡像。設置好后驯绎,點擊Next ---> 進入下個頁面后點擊finsih即建好了一個矢量圖完慧。示例:

<vector xmlns:android="http://schemas.android.com/apk/res/android"

? ? ? ? android:width="14dp"

? ? ? ? android:height="14dp"

? ? ? ? android:viewportWidth="14.0"

? ? ? ? android:viewportHeight="14.0">

? ? <path

? ? ? ? android:pathData="M2.151,0.535L13.465,11.849A1.143,1.143 112.734,0 1,13.465 13.465L13.465,13.465A1.143,1.143 112.734,0 1,11.849 13.465L0.535,2.151A1.143,1.143 117.322,0 1,0.535 0.535L0.535,0.535A1.143,1.143 117.322,0 1,2.151 0.535z"

? ? ? ? android:fillType="evenOdd"

? ? ? ? android:fillColor="#B9C0C7"/>

? ? <path

? ? ? ? android:pathData="M13.465,2.151L2.151,13.465A1.143,1.143 112.257,0 1,0.535 13.465L0.535,13.465A1.143,1.143 112.257,0 1,0.535 11.849L11.849,0.535A1.143,1.143 69.355,0 1,13.465 0.535L13.465,0.535A1.143,1.143 69.355,0 1,13.465 2.151z"

? ? ? ? android:fillType="evenOdd"

? ? ? ? android:fillColor="#B9C0C7"/>

</vector>

即為一個矢量圖。

三剩失、導入矢量圖后如何使用呢屈尼?如果gradle版本比較低,可以直接使用拴孤,而不需要配置脾歧。只是,這時在高版本的android中矢量圖依舊為矢量圖演熟,但在低版本中鞭执,矢量圖會轉(zhuǎn)化為各個分辨率下的png圖片。所以芒粹,最好進行如下配置:

//在gradle2.0及以上:

android {

? defaultConfig {

? vectorDrawables.useSupportLibrary = true

}}

//在gradle 1.5以前

android {

? defaultConfig {

? ? // Stops the Gradle plugin’s automatic rasterization of vectors

? ? generatedDensities = []

? }

? // Flag to tell aapt to keep the attribute ids around

? aaptOptions {

? ? additionalParameters "--no-version-vectors"

? }

}

然后兄纺,在Application中設置:

if (Build.VERSION.SDK_INT < BuildInfo.LOLLIPOP) {

? ? AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); //支持SVG

}

四、如果所有的Activity繼承的是AppCompatActivity的話化漆,不會有問題估脆。但如果繼承的是Activity,而且因為業(yè)務需求不可更改或者更改起來改動太大座云,這時疙赠,坑就來了付材。什么坑呢?比如棺聊,ImageView中setImageResource的是矢量圖伞租,這時不會顯示出來任何圖片。如何更改限佩?把ImageView換為AppCompatImageView即可,這是最簡單的改法裸弦。還可以把矢量圖放到selector中祟同,也可以在createview的時候進行攔截,把ImageView轉(zhuǎn)為AppCompatImageView理疙。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晕城,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子窖贤,更是在濱河造成了極大的恐慌砖顷,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赃梧,死亡現(xiàn)場離奇詭異滤蝠,居然都是意外死亡,警方通過查閱死者的電腦和手機授嘀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門物咳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蹄皱,你說我怎么就攤上這事览闰。” “怎么了巷折?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵压鉴,是天一觀的道長。 經(jīng)常有香客問我锻拘,道長油吭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任逊拍,我火速辦了婚禮上鞠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芯丧。我一直安慰自己芍阎,他們只是感情好,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布缨恒。 她就那樣靜靜地躺著谴咸,像睡著了一般轮听。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上岭佳,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天血巍,我揣著相機與錄音,去河邊找鬼珊随。 笑死述寡,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的叶洞。 我是一名探鬼主播鲫凶,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼衩辟!你這毒婦竟也來了螟炫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤艺晴,失蹤者是張志新(化名)和其女友劉穎昼钻,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體封寞,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡然评,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了钥星。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沾瓦。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖谦炒,靈堂內(nèi)的尸體忽然破棺而出贯莺,到底是詐尸還是另有隱情,我是刑警寧澤宁改,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布缕探,位于F島的核電站,受9級特大地震影響还蹲,放射性物質(zhì)發(fā)生泄漏爹耗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一谜喊、第九天 我趴在偏房一處隱蔽的房頂上張望潭兽。 院中可真熱鬧,春花似錦斗遏、人聲如沸山卦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽账蓉。三九已至枚碗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間铸本,已是汗流浹背肮雨。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留箱玷,地道東北人怨规。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像锡足,于是被迫代替她去往敵國和親椅亚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容