0
我有一個ImageButton
,其中源圖像從網絡動態加載。我的目標是根據按鈕的狀態(即state_pressed,state_focused ...)在圖像上設置不同的顏色過濾器。問題是我不能使用Selector
,因爲我的圖像是動態加載的,不是可繪製的資源。 有沒有人可以給我一個線索,我如何識別使用代碼的狀態並模仿選擇器的工作?模仿Android的ImageButton狀態代碼選擇器
我有一個ImageButton
,其中源圖像從網絡動態加載。我的目標是根據按鈕的狀態(即state_pressed,state_focused ...)在圖像上設置不同的顏色過濾器。問題是我不能使用Selector
,因爲我的圖像是動態加載的,不是可繪製的資源。 有沒有人可以給我一個線索,我如何識別使用代碼的狀態並模仿選擇器的工作?模仿Android的ImageButton狀態代碼選擇器
可以編程設置狀態由kcoppock在this SO post
Resources r = getResources();
StateListDrawable states = new StateListDrawable();
states.addState(new int[] {android.R.attr.state_pressed}, r.getDrawable(R.drawable.pressed));
states.addState(new int[] {android.R.attr.state_focused}, r.getDrawable(R.drawable.focused));
states.addState(new int[] {}, r.getDrawable(R.drawable.normal));
imageButton.setImageDrawable(states);
而當你有動態圖像概括,而不是如果'r.getDrawable(...)'使用'Drawable.createFromPath(pathname)按' 。 – Ridcully
@antwe:這似乎是一個好開始,但我該如何設置彩色濾光片?在同一個drawable上調用'setColorFilter'似乎沒有效果。 –
@Ridcully:我忘了謝謝你的評論,它完成了答案。所以謝謝 :) –