2011-01-14 19 views
0

我在TabActivity中使用ImageViews作爲我的Tab指標。我有兩個相同的jpeg文件副本,一個縮放到原始文件的75%。我想要做的是使用正常大小選擇和較小的未選中。使用ImageView作爲選項卡指示器處理選定/未選擇狀態

StateListDrawable不能用於ImageView,所以我想我必須自己處理這個。我所能找到的似乎與選項卡選擇更改有關的是TabHost.onTabChanged(String tabId) - 我假定tabId是我傳遞給new TabSpec(...)的字符串。

這是跟蹤標籤更改的唯一方法嗎?讓一個事件處理程序(或處理程序)允許先前選擇的選項卡更改視圖狀態,然後使新選項卡執行相同的操作會很有用。我可以保留一個變量,如int currentSelection,但如果它可以更自動一點,它會很有用。

+0

「StateListDrawable不能用於ImageView」 - 確定它確實如此。 – CommonsWare 2011-01-14 01:51:57

回答

1

解決方案:我的理想方法是使用StateListDrawables我ImageViews而是試圖用XML文件定義的狀態圖像使用ImageView.setImageDrawable()時,我得到一個ClassCastException。

答案是使用setImageResource()來代替,它可以完美地滿足我所需。感謝CommonsWare爲我指出了正確的方向。

相關問題