日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android svg按钮图标下载,安卓android中小图标使用优化(svg矢量图与iconfiy)

發(fā)布時間:2023/12/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android svg按钮图标下载,安卓android中小图标使用优化(svg矢量图与iconfiy) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在開發(fā)安卓中會遇到各種各樣的小圖片(icon),裁剪繁瑣,拉伸容易失真,png圖片積累到一定量的時候,使包的體積變大,svg圖與iconfiy這個第三方庫可以解決以上的問題,但只試用于icon,背景圖片等還需要自己進行優(yōu)化;

android如何使用svg圖,

下面的文章說的比較詳細:Android使用矢量圖

svg是xml文件一般是kb級別,占用內存小;

svg矢量圖只能在api>21,android5.0以后進行使用,往前也能兼容,不過api<15就不能兼容了,textview的使用矢量圖需要自己填坑;雖然如此,根據(jù)奧卡姆剃刀原理,安卓原生api中提供了大量的矢量圖可以使用,如果對風格要求不嚴,直接可以在img標簽下引用原生的drawable矢量圖.國內外的icon網(wǎng)站基本都有svg圖下載,代碼轉換一下就可以直接使用了.

根據(jù)個人使用svg經(jīng)驗,一般從資源網(wǎng)站下載的很小不超過kb級的小圖片,ps一下直接能用的,就沒必要使用svg跟iconfiy了,svg需要各種適配各種轉換各種坑,而且文件大小不一定比png小,iconfiy雖然體積小,但畢竟多引入了一個包,一個包的大小至少200k以上。

iconfiy的使用思路是用自定義的textview代替imgview,所以體積會更小:

dependencies {

compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.2.2' // (v4.5)

//以上的資源足夠用,下面的不同的庫基本可以不用,有特殊需要再依賴也行,具體的圖片資源的搜索,在下文會

//專門列出

compile 'com.joanzapata.iconify:android-iconify-entypo:2.2.2' // (v3,2015)

compile 'com.joanzapata.iconify:android-iconify-typicons:2.2.2' // (v2.0.7)

compile 'com.joanzapata.iconify:android-iconify-material:2.2.2' // (v2.0.0)

compile 'com.joanzapata.iconify:android-iconify-material-community:2.2.2' // (v1.4.57)

compile 'com.joanzapata.iconify:android-iconify-meteocons:2.2.2' // (latest)

compile 'com.joanzapata.iconify:android-iconify-weathericons:2.2.2' // (v2.0)

compile 'com.joanzapata.iconify:android-iconify-simplelineicons:2.2.2' // (v1.0.0)

compile 'com.joanzapata.iconify:android-iconify-ionicons:2.2.2' // (v2.0.1)

}

@Override

public void onCreate() {

super.onCreate();

Iconify

.with(new FontAwesomeModule())//常用

//以下的相似基本可以不用

.with(new EntypoModule())

.with(new TypiconsModule())

.with(new MaterialModule())

.with(new MaterialCommunityModule())

.with(new MeteoconsModule())

.with(new WeathericonsModule())//如果有天氣需求就加上這個庫

.with(new SimpleLineIconsModule())

.with(new IoniconsModule());

}

}

iconfiy的優(yōu)點是體積小,使用方便,缺點是你需要知道對應的圖片資源標識符如 {fa-smile-o},圖片不好搜索,資源標識符更不好找到.沒有圖片資源,不知道如何引用字體,如無米之炊.

以下按照iconfiy的依賴,分別找到ttf的下載資源與圖片的搜索地址,大家可以根據(jù)項目的需求、自己愛好分別加載不同庫;

iconify基本把國外的icon網(wǎng)站資源一網(wǎng)打盡.

iconify資源網(wǎng)址

iconify資源不是很全,可以到他依賴的icon資源網(wǎng)站進行圖片搜索:

android-iconify-entypo

entypo ttf下載地址

entypo圖片搜索地址

android-iconify-fontawesome

fontawesome圖片搜索地址

fontawesome ttf下載地址

android-iconify-ionicons

ionicons ttf下載與圖片搜索地址

android-iconify-material

material ttf資源下載地址

material圖片搜索地址

android-iconify-material-community

material-community下載與搜索地址

android-iconify-meteocons

meteocons資源

android-iconify-sample

iconify-sample下載與搜索地址

android-iconify-simplelineicons

simplelineicons ttf下載

simplelineicons 圖片搜索

android-iconify-typicons

typicons ttf下載與圖片搜索地址

android-iconify-weathericons

weathericons ttf下載與圖片搜索地址

iconfiy官網(wǎng)說明中的

Icon options(字體后樣式變化),與Show an icon where you need a?Drawable(在代碼中的應用)也是很有用的,需要自己進行發(fā)揮;

注意:在開發(fā)時,如果直接從源碼粘貼字體標志需要把'_'替換成'-':如

特別注意:在低版本的iconfiy中weathericons有問題,因為作者沒有在WeathericonsIcons.java這個類中

的key()中替換成'-':

@Overridepublic String key() {??? return name().replace('_', '_');}

如果直接從資源網(wǎng)站找到則不需進行替換,直接黏貼一般可以使用,但是會有搜索出來的圖片無法使用的情況,

這時就需要自定義iconfiy了;

自定義:支付寶支付等圖標等國內特色的圖片國外的資源一般沒有,這時就需要自己阿里的圖庫中自定義字體了,比較不錯的文章有(不再進行贅述):

阿里圖庫的自定義icon

Fontello的自定義

IconToggleButton??也比較有意思,有興趣可以試試:

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textOff="{fa-smile-o 20sp spin}"

android:textOn="{icon-indemnity}"/>

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final IconToggleButton tb = findViewById(R.id.toggleBt);

findViewById(R.id.toggleBt).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

if (tb.isChecked()){

//邏輯1

}else {

//邏輯2

}

}

});

}

}

總結

以上是生活随笔為你收集整理的android svg按钮图标下载,安卓android中小图标使用优化(svg矢量图与iconfiy)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。