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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android中的资源复用小技巧

發布時間:2024/4/15 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中的资源复用小技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

做了很多項目,發現每個項目里都有大量的相似圖標,比如每個顏色一種、每個角度一種(左箭頭、右箭頭)等等,雖然這些圖標很小占用不了太多資源。但是當我們需要change的時候就得一個個去替換,其實在android里有很多小技巧可以讓這些資源進行復用,減少體積的同時也可以使項目結構更加清晰。

這里總結的一些比較常用的復用,包擴:自適應、變色、旋轉、陰影、組合、透明度、剪裁、留白等

svg矢量圖

android5.0之后android就開始支持svg矢量圖了,是drawable的vector標簽。

使用矢量圖的好處是不用在為不同的分辨率提供不同的切圖了,而且能保證顯示清晰度。

在android studio中,右擊drawable目錄,選擇new - Vector Asset,可以創建一個系統自帶svg矢量圖,或者通過svg、psd文件導入。

下面是一個示例額:

<vector android:height="24dp" android:tint="#FFFFFF"android:viewportHeight="24" android:viewportWidth="24"android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"><path android:fillColor="@android:color/white" android:pathData="M20.5,3l-0.16,0.03L15,5.1 9,3 3.36,4.9c-0.21,0.07 -0.36,0.25 -0.36,0.48V20.5c0,0.28 0.22,0.5 0.5,0.5l0.16,-0.03L9,18.9l6,2.1 5.64,-1.9c0.21,-0.07 0.36,-0.25 0.36,-0.48V3.5c0,-0.28 -0.22,-0.5 -0.5,-0.5zM15,19l-6,-2.11V5l6,2.11V19z"/> </vector>

包括圖片的寬高和顏色,最重要的就是path,這里面就是svg圖片繪制的路徑,如果懂相關語法的甚至可以自己手寫一個出來。

變色

變色就是著色,在android5.0版本google出了著色器tint,可以非常方便的對圖片進行著色。

(android5.0還對應的加入了取色器Palette,可以動態的在bitmap上取色并設置給其他組件,達到頁面隨著圖片變色的效果)

比如

<ImageView...android:src="@mipmap/ic_launcher"android:tint="#FFF" />

這樣可以將圖片變成白色的。

但是有時候我們需要在其他xml resource中使用,比如style中使用drawable,比如想使用一個黑色的箭頭,但是我們只有白色的箭頭,這時候就沒有tint這個屬性了,那么怎么辦?

我們可以使用bitmap標簽,在drawable下新建一個資源xml,如下:

<?xml version="1.0" encoding="utf-8"?><bitmap xmlns:android="http://schemas.android.com/apk/res/android"android:src="@drawable/white_arrow"android:tint="#000000"></bitmap>\

然后使用這個drawable即可,但是注意這里無法使用svg矢量圖,即VectorDrawable。

旋轉

比如有一個左箭頭,我們還需要右箭頭。

一個方法是在view中設置android:rotation屬性

<ImageView...android:src="@mipmap/ic_launcher"android:rotation="90" />

同樣我們需要在其他xml resource中使用,可以使用rotate標簽,在drawable下新建一個資源xml,如下:

<rotate xmlns:android="http://schemas.android.com/apk/res/android"android:fromDegrees="90"android:toDegrees="90"android:drawable="@drawable/fit"> </rotate>

這里可以使用svg矢量圖

陰影

有時候我們有一張圖片,但在不同場景使用的時候可能需要陰影,也可能不需要,甚至陰影的大小可能也不一樣。

在android5.0以上我們可以直接為view設置elevation即可,如:

<ImageView...android:elevation="3dp"android:src="@drawable/fit"/>

這是google新增的層的概念,即z軸,設置elevation可以提升組件的高度,就會自動添加陰影。

組合

有時候我們有的資源是幾個其他資源組合而成的,其實這時候我們沒必要再重新切一個組合后的圖。

使用layer-list即可,通過設置位置,并且通過上面所說的旋轉等方法可以實現各種組合情況。

比如示例中:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:width="12dp"android:height="12dp"><shape android:shape="oval"><solid android:color="#009bfa" /></shape></item><itemandroid:width="6dp"android:height="6dp"android:gravity="center"><shape android:shape="oval"><solid android:color="#ffffff" /></shape></item> </layer-list>

我們通過兩個shape來實現一個類似靶子的效果。

透明度

也是使用bitmap標簽即可,通過android:alpha熟悉設置透明度。

裁剪

通過drawable的clip標簽即可,注意這里裁剪后還保持原圖片大小,只不過裁剪后的內容占據其中一部分

留白

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的Android中的资源复用小技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

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