1. 程式人生 > >Android 樣式開發:Drawable分類資源彙總詳解(一)

Android 樣式開發:Drawable分類資源彙總詳解(一)

Drawable Resources
解釋為:可繪製物件資源。是指可在螢幕上繪製的圖形,以及可以使用 getDrawable(int) 等 API 檢索或者應用到具有 android:drawable 和 android:icon 等屬性的其他 XML 資源的圖形。

Android有多種不同型別的可繪製物件:
BitmapDrawable:點陣圖檔案 、NinePatchDrawable :九宮格檔案
LayerDrawable :圖層列表 、StateListDrawable :狀態列表
LevelListDrawable:級別列表 、ColorDrawable :顏色資源
TransitionDrawable:轉換可繪製物件 、InsetDrawable :插入可繪製物件
ClipDrawable:裁剪可繪製物件 、ScaleDrawable :縮放可繪製物件
ShapeDrawable:形狀可繪製物件 、RotateDrawable,AnimationDrawable : 動畫資源相關

1.BitmapDrawable

可以將 bitmap元素用作 item 元素的子項,對圖片進行拉伸、縮放,保持原始大小不變、位置對齊方式等設定,屬性相關:

  • xmlns:android
    字串。定義 XML 名稱空間,其必須是 “
    http://schemas.android.com/apk/res/android
    “。這僅當 bitmap 是根元素時才需要,當 bitmap 巢狀在 item內時不需要。
  • android:src
    可繪製物件資源。必備。引用可繪製物件資源。
  • android:antialias
    布林值。啟用或停用抗鋸齒。
  • android:dither
    布林值。當點陣圖的畫素配置與螢幕不同時(例如:ARGB 8888 點陣圖和 RGB 565 螢幕),啟用或停用點陣圖抖動。
  • android:filter
    布林值。啟用或停用點陣圖過濾。當點陣圖收縮或拉伸以使其外觀平滑時使用過濾。
  • android:gravity
    關鍵字。定義點陣圖的重力。重力指示當點陣圖小於容器時,可繪製物件在其容器中放置的位置。
    必須是以下一個或多個(用 ‘|’ 分隔)常量值:
說明
top 將物件放在其容器頂部,不改變其大小。
bottom 將物件放在其容器底部,不改變其大小。
left 將物件放在其容器左邊緣,不改變其大小。
right 將物件放在其容器右邊緣,不改變其大小。
center_vertical 將物件放在其容器的垂直中心,不改變其大小。
fill_vertical 按需要擴充套件物件的垂直大小,使其完全適應其容器。
center_horizontal 將物件放在其容器的水平中心,不改變其大小。
fill_horizontal 按需要擴充套件物件的水平大小,使其完全適應其容器。
center 將物件放在其容器的水平和垂直軸中心,不改變其大小。
fill 按需要擴充套件物件的垂直大小,使其完全適應其容器。這是預設值。
clip_vertical 可設定為讓子元素的上邊緣和/或下邊緣裁剪至其容器邊界的附加選項。裁剪基於垂直重力:頂部重力裁剪上邊緣,底部重力裁剪下邊緣,任一重力不會同時裁剪兩邊。
clip_horizontal 可設定為讓子元素的左邊和/或右邊裁剪至其容器邊界的附加選項。裁剪基於水平重力:左邊重力裁剪右邊緣,右邊重力裁剪左邊緣,任一重力不會同時裁剪兩邊。
  • android:mipMap
    布林值。啟用或停用 mipmap 提示,預設值為 false。
  • android:tileMode
    關鍵字。定義平鋪模式。當平鋪模式啟用時,點陣圖會重複。重力在平鋪模式啟用時將被忽略。
    必須是以下常量值之一:
說明
disabled 不平鋪點陣圖。這是預設值。
clamp 當著色器繪製範圍超出其原邊界時複製邊緣顏色
repeat 水平和垂直重複著色器的影象,重複平鋪
mirror 水平和垂直重複著色器的影象,交替映象影象以使相鄰影象始終相接。

使用:

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@[package:]drawable/drawable_resource"
    android:antialias=["true" | "false"]
    android:dither=["true" | "false"]
    android:filter=["true" | "false"]
    android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
                      "fill_vertical" | "center_horizontal" | "fill_horizontal" |
                      "center" | "fill" | "clip_vertical" | "clip_horizontal"]
    android:mipMap=["true" | "false"]
    android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"] />

相關推薦

Android 樣式開發Drawable分類資源彙總

Drawable Resources 解釋為:可繪製物件資源。是指可在螢幕上繪製的圖形,以及可以使用 getDrawable(int) 等 API 檢索或者應用到具有 android:drawable

Android使用GPUImage實現濾鏡效果精煉

一、前期基礎知識詳解 “濾鏡通常用於相機鏡頭作為調色、新增效果之用。如UV鏡、偏振鏡、星光鏡、各種色彩濾光片。濾鏡也是繪圖軟體中用於製造特殊效果的工具統稱,以Photoshop為例,它擁有風格化、畫筆描邊、模糊、扭曲、銳化、視訊、素描、紋理、畫素化、渲染、藝術效果、其他

《阿里巴巴Java開發手冊》碼出高效- 為什麼要學習阿里編碼手冊

《Java 開發手冊》(以下簡稱《手冊》)是每個 Java 工程師人手必備的一本參考指南。該手冊包括 程式設計規約、異常日誌、單元測試、安全規約、MySQL 資料庫、工程結構、設計規約 7 個部分 ,涵蓋了 Java 開發的常見知識點。認真實踐該《手冊》能夠幫助 Java 開發者養成好的程式設計習慣,幫助企業

移動端開發常見問題解決方案彙總- Javascript技巧

1、安卓瀏覽器看背景圖片,有些裝置會模糊。 用同等比例的圖片在PC機上很清楚,但是手機上很模糊,原因是什麼呢? 經過研究,是devicePixelRatio作怪,因為手機解析度太小,如果按照解析度來顯示網頁,這樣字會非常小,所以蘋果當初就把iPhone 4的960640解析

Ecshop二次開發如何建立一個自定義頁面

今天自己本機用wampserver搭建了一個環境,然後下載了Ecshop官方(UTF-8)最新版本,然後進行熟悉。 進入後臺簡單的操作了一下,想自己寫一個php頁面,並在模版中調用出來值。 第一步:在根目錄新建了一個test.php頁面。並寫上如下程式碼: 不過百度了一下

android 專案練習自己的詞典app——生詞本

前言: 自學android差不多兩個月了,由於本身對英語不感冒,而且記英語單詞總是很快忘記,因此學習的過程也是蠻累的,好多類和方法都不知道啥意思,還要去查詞典才知道。 還是延續我讀書時的記憶方法——每次遇到生詞就寫在筆記本上,下次在遇到就算不記得中文意思,也

Android開發之最新Recyclerview控制元件的使用

    本篇博文主要給大家分享關於RecyclerView控制元件的使用及通過繼承RecyclerView來實現滑動時載入圖片的優化方案,也同樣能解決防止圖片亂序的問題,之前有在網上有看到大神對Android中ListView非同步載入圖片亂序問題進行過分析,並深入剖析原理

elastic-job數據分片

count 任務 不同的 應該 center shc 偶數 int ext 數據分片的目的在於把一個任務分散到不同的機器上運行,既可以解決單機計算能力上限的問題,也能降低部分任務失敗對整體系統的影響。elastic-job並不直接提供數據處理的功能,框架只會將分片項分配至各

Android APK反編譯就這麽簡單 附圖

雙擊 整合 cmd 進行 自我 nts clas 以及 思路 在學習Android開發的過程你,你往往會去借鑒別人的應用是怎麽開發的,那些漂亮的動畫和精致的布局可能會讓你愛不釋手,作為一個開發者,你可能會很想知道這些效果界面是怎麽去實現的,這時,你便可以對改應用的APK進行

Zookeeper分布式與Zookeeper

zookeeper介紹 分布式 保留本文出自 “小惡魔的家” 博客,請務必保留此出處http://littledevil.blog.51cto.com/9445436/1983260Zookeeper詳解(一):分布式與Zookeeper

跟開濤學SpringMVC4.1Controller接口控制器1

詳解 shu fix gmv 控制器 input abstract pre pdf http://www.importnew.com/19397.html http://blog.csdn.net/u014607184/article/details/5207453

PHP與Java集成開發

new 編程語言 到你 其中 web-inf request 測試 add 輸入 很久以前,有人從www上看到看到天空上一個很亮的亮點,它就是Java語言,與此同時,在另一個地方一位夢想家也看到了一個亮點,它就是PHP。 時間一天天過去,這兩個亮點也變得越來越亮,很快,它

WebSocket初步認識WebSocket技術

tcp 客戶端 應用程序 需要 應用層協議 通過 新的 sock org 1.什麽是Socket?什麽是WebSocket? 對於第1次聽說WebSocket技術的人來說,兩者有什麽區別?websocket是僅僅將socket的概念移植到瀏覽器中的實現嗎?我們知道,在網絡中

Android EventBus3.x 使用

led AC target 分解 感覺 div activit .org android事 ?(^∇^*) 五一假期在家無事,新項目中用的是RxJava2+EventBus感覺還不錯,趁這閑暇總結下EventBus 一、概要簡述   EventBus

HAProxyHAProxy介紹【轉】

監測 對比 內容交換 發送 持久連接 shadow 虛擬 font ros 一.高性能負載均衡軟件HAProxy介紹: 隨著互聯網業務的迅猛發展,大型電商平臺和門戶網站對系統的可用性和可靠性要求越來越高,高可用集群、負載均衡集群成為一種熱門的系統架構解決方

Linux 程序及相關概念理解

目錄 程序  程序狀態 殭屍程序 孤兒程序 程序優先順序 環境變數   程序 基本解釋:                     基本概

安卓專案實戰之強大的網路請求框架okGo使用實現get,post基本網路請求,下載上傳進度監聽以及對Callback自定義的深入理解

1.新增依賴 //必須使用 compile 'com.lzy.net:okgo:3.0.4' //以下三個選擇新增,okrx和okrx2不能同時使用,一般選擇新增最新的rx2支援即可 compile 'com.lzy.net:okrx:1.0.2' compile 'com.lzy

Android Paging library

官方文件翻譯 文章目錄 1.概覽 1.1 庫架構 1.2 支援不同的資料架構 1.2.1 網路獲取或者資料庫 1.2.2 網路和資料庫同時獲取 1.2.3 處理網路錯誤 1.2.4 更新

Android Lifecycle

官方文件翻譯 使用生命週期感知元件處理生命週期 Lifecycle Event State LifecycleOwner 實現一個自定義的LifecycleOwner 生命週期感

SpringBoot開發--初識SpringBoot

轉載自:https://blog.csdn.net/qq_31001665/article/details/54803354 一、寫在前面的話: 越來越多的公司開始使用sprinbgboot作為後臺伺服器開發的框架,作為目前微服務框架的佼佼者,現在學習springboot框架是一個很好的機會