當前位置:首頁 » 安卓系統 » android自定義drawable

android自定義drawable

發布時間: 2024-10-03 13:03:08

⑴ 如何在 Android 應用程序中使用自定義主題

Android 應用程序中使用自定義主題的方法:

1、新建一個項目 Lesson32_StyleAndTheme。

2、拷貝下面三張 Nine-Patch PNG圖片到res/drawable目錄下:

⑵ Android怎麼在各個drawable中放圖片才可以滿足不同屏幕大小的手機使用

在運行時,程序為最佳顯示效果提供了三種方法:
1.圖片縮放
基於當前屏幕的 精度,平台自動載入任何未經縮放的限定尺寸和精度的圖片。如果圖片不匹配,平台會載入默認資源並且在放大或者縮小之後可以滿足當前界面的顯示要求。例如, 當前為高精度屏幕,平台會載入高精度資源(如圖片),如果沒有,平台會將中精度資源縮放至高精度。
2.自動定義像素尺寸和位置
如果程序不支持多種精度屏幕,平台會自動 定義像素絕對位置和尺寸值等,這樣就能保證元素能和精度160的屏幕上一樣能顯示出同樣尺寸的效果。
3.兼 容更大尺寸的屏幕
當前屏幕超過程序所支持屏幕的上限時,定義supports- screens元素,這樣超出顯示的基準線時,平台在此顯示黑色的背景圖。例如,WVGA 中精度屏幕上,如程序不支持這樣的大屏幕,系統會謊 稱是一個320×480的,多餘的顯示區域會被填充成黑色。

⑶ 如何使用Android的VectorDrawable類繪制矢量圖

繪制矢量圖形非難事——如何使用Android的VectorDrawable類內容概述盡管Android系統並不能夠直接支持SVG(即可縮放矢量圖形),但Lollipop版本卻引入了一個名為VectorDrawable的新類,其允許設計人員及開發人員以純代碼方式生成類似的繪制效果。在今天的文章中,我們將共同學習如何利用XML文件創建一個VectorDrawable,並將其以動畫方式顯示在自己的項目當中。這項功能只能在運行有Android5.0或者更高版本的設備上實現,而且目前還不具備任何支持庫實現。本篇教程中的相關源文件可以通過GitHub網站獲取。1.創建VectorDrawable從相似角度來看,VectorDrawable與標准SVG圖形都是利用path值繪制完成的。不過如何利用SVGpath繪制圖形並不在本篇文章的探討范圍之內,大家可以點擊此處從W3C網站處獲取必要的說明資料。在本文當中,我們只需要了解到path標簽的作用是進行圖形繪制即可。讓我們首先從SVG文件入手,看看以下圖形是如何被繪制出來的:這一圖形共由五個主要部分所組成:一個圓角四邊形作為CPU主體,該四邊形由兩條拱狀弧線構成。四組各自包含五根線條的圖形,用於充當CPU的外延線路。以下代碼所示為如何以SVG方式繪制以上圖形:雖然看起來有點繁雜,但大家其實用不著糾結於以上代碼的具體含義,而且這完全不會影響到我們接下來要進行的VectorDrawable繪制工作。不過需要強調的是,我將前面提到的五大圖形組成部分在代碼中作為獨立的區塊來處理,這是為了增強代碼內容的可讀性。首先,我們需要利用兩條拱形弧線來繪制出圓角四邊形,而在接下來的內容中我們會探討如何分別表現出上、下、左、右四個方位的外延線條。為了將上述SVG代碼轉化為VectorDrawable,大家首先需要在XML當中定義vector對象。以下代碼提取自本篇文章示例代碼當中的vector_drawable_cpu.xml文件。在此之後,大家可以向其中添加path數據。下列代碼同樣被拆分成了五個不同的path標簽而非將其作為整體處理,這當然也是為了保證內容的可讀性。正如大家所見,每個path片段都只需要利用pathData屬性進行繪制。現在我們可以將VectorDrawableXML文件作為一個可繪制對象納入到標准ImageView當中,而且其能夠根據應用程序的實際需要任意進行尺寸縮放——完全不需要再修改任何Java代碼。2.為VectorDrawables添加動畫效果現在我們已經了解了如何以純代碼方式創建圖形,接下來要做的是找點樂子——為其添加動畫效果。在以下動畫中,大家會發現作為延伸線路的各組線條會不斷指向並遠離CPU本體進行移動。為了達到這一目標,大家需要將包含動畫效果的每個片段包含在一個標簽當中。經過修改的vector_drawable_cpu.xml版本將如下所示:接下來,我們需要為每個動畫類型創建animator文件。在本次示例中,每組線路各使用一個animator,這就意味著共需要四個animator。以下代碼所示為上方線路的動畫效果,大家還需要為下、左、右線路設定類似的效果。每個animatorXML文件都被包含在了本項目的示例代碼當中。如大家所見,propertyName被設定為translateY,這意味著該動畫將沿Y軸方向移動。而valueFrom與valueTo則控制著位移的起點與終點。通過將repeatMode設置為reverse而repeatCount設置為infinite,整個動畫會一直循環下去,其效果則在VectorDrawable處體現出來。該動畫的ration被設定為250,其時長單位為毫秒。為了將該動畫應用到自己的可繪制文件當中,大家需要創建一個新的animated-vectorXML文件,從而將這些animator分配給各VectorDrawable組。以下代碼的作用是創建該animated_cpu.xml文件。

熱點內容
linux設備驅動程序pdf 發布:2024-11-24 10:40:26 瀏覽:804
金盾pdf加密提取 發布:2024-11-24 10:37:01 瀏覽:809
sqlserver2005報表 發布:2024-11-24 10:33:23 瀏覽:584
直男Qq密碼一般會設成什麼 發布:2024-11-24 10:28:00 瀏覽:198
蘋果怎麼傳照片藍牙到安卓 發布:2024-11-24 10:21:04 瀏覽:856
比亞迪秦值得買哪個配置 發布:2024-11-24 10:20:23 瀏覽:73
河北智慧網關伺服器雲伺服器 發布:2024-11-24 10:20:22 瀏覽:761
linux啟動服務命令 發布:2024-11-24 10:15:25 瀏覽:703
住宅電子密碼如何修改 發布:2024-11-24 10:09:48 瀏覽:358
ipad相冊建立子文件夾 發布:2024-11-24 10:09:00 瀏覽:587