2012-10-30 78 views

回答

11

根據文檔 http://developer.android.com/reference/android/graphics/ColorFilter.html ColorFilter沒有相應的xml版本。

我還搜索與鑰匙「顏色」和「過濾器」 http://developer.android.com/reference/android/R.attr.html

+7

這是不正確的。 'tint'與'setColorFilter'的作用相同。 –

+1

@MartinKonecny yes,但'tint'在API <21上不可用。 –

+1

@AlexeyDmitriev'tint'已添加到API 1.請參閱我的答案以獲取文檔的鏈接。 'tintMode'被添加到API 21. – GDanger

31

有在文檔的屬性;它被稱爲tint。它不在View上,但在ImageViewImageButton上。

如果你想使用它selectorthis answer幫助了我一堆。

+0

謝謝。正是我想要的 - 更改ImageButton的drawable的顏色。 – Hong

5

沒有xml等價物,但是在API 21級上,您可以使用tint屬性。但我認爲你不想瞄準21個以上的設備。至少在幾年內不會。

+3

imageview上的色調可以正常使用support-v7,測試2.3和4.4 – sherpya

10

您可以使用:

android:tint="@color/white" 
-1

如果你想使用的色調和支持老版本,你可以添加到com.android.support:appcompat-v7:23.2.1的build.gradle(不要忘了更新的Android SDK)

感謝提示@sherpya!

+3

這是不正確的。 AppCompatImageView不應該被明確地使用,因爲普通的Imageview會自動使用它。使用它不會有所作爲。 ImageView也是唯一的視圖,它具有從api 1內置的「tint」(意思是你可以在其上設置「android:tint」,無論你的目標Android版本爲何) – Joakim

+0

感謝您修復我。當我在沒有AppCompatImageView的情況下嘗試它時,我認爲它不起作用。編輯答案 – bentzy

+0

Np,自己掉進了同一個圈套。但據我所知,tint不會暴露給使用支持庫的開發人員,只能通過設置主題。如果我錯了,請告訴我 – Joakim

相關問題