TabActivityのタブインジケータにImageViewsを使用しています。私は同じJPEGファイルの2つのコピーを持っています.1つは元のファイルの75%に縮尺されています。私ができるようにしたいのは、通常のサイズを選択し、小さいものを選択しないことです。タブインジケータとしてImageViewで選択/非選択状態を処理する
StateListDrawableはImageViewでは動作しませんので、私はこれを自分で処理しなければならないと考えています。私が見つけることができるのは、タブの選択の変更に関連するようです。TabHost.onTabChanged(String tabId)
- 私はに渡された文字列tabIdと仮定します。
これは、タブの変更を追跡する唯一の方法ですか?以前に選択したタブでビューの状態を変更できるようにするイベントハンドラ(またはハンドラ)を持たせてから、新しいタブで同じように変更できるようにすると便利です。私はint currentSelection
のような変数を維持することができますが、もっと自動化できれば便利です。
"StateListDrawableはImageViewで動作しません" - 確かにそうです。 – CommonsWare
@CommonsWare:StateListDrawableの 'selector'を定義するXMLファイルを使用するときに、ImageViewのsetImageDrawable()を使用しようとするとClassCastExceptionが発生します。私はそれを使って周りを走り回り、それを解決できませんでした。あなたが私を指すことができるサンプルコードへのリンク? – Squonk
'setImageDrawable()'ではなく 'setImageResource()'を使います。 – CommonsWare