2012-02-08 2 views
0

私はさまざまな画面に多数のボタンがあるアプリケーションを持っています。それぞれのボタンには背景画像とテキストがあります(ImageButtonはいいです)。私は、ボタンが押し込まれたり押し込まれたりすることができない異なる状態の画像の複数のバージョンを持つことが可能であることを認識しています。セレクタに画像の異なるバージョンを入れてから、ボタンの背景をセレクタにします。しかし、これは、それぞれの画像の2つのバージョンを作成する必要があることを意味します(私が検討しているそれぞれの密度の4倍)ので、私のAPKのサイズを膨らませ、重複した画像を生成するのにかなりの時間を追加します。セレクタを押しているかどうかにかかわらずボタンを表示する簡単な方法はありますか?

これは、ボタンが押されているかどうかに応じてボタンの外観を変更する(つまり、その背景を2つの異なる画像にリンクするセレクタに設定する)唯一の方法ですか?ボタンのいくつかの組み込みプロパティ(例えば、その「暗闇」)を指定するのと同じように、ボタンの外観?

+1

あなたの背景に応じてシェイプを作成し、それを使用しようとすることができます。あなたはまた、応答としてテキストの色を変更することができます... – WarrenFaith

+0

画像は彼らの上にデザイン/写真/ etcを持っているので、私の目的のために良い形はありません。テキストの色を変えるという考え方のように。それを考えなかった/理想的ではないが、私が時間と空間を使い果たしている場合は間違いない。 –

答えて

0

実測値(FrameLayoutViewを包む黒っぽい透明色(押圧状態)と完全に透明な色からなるselectorあるFrameLayout​​描画可能を与えることによって、押され、またはしないようViewを示す一つの方法既定の状態)、クリックリスナをの代わりにFrameLayoutに設定します。ここに私のブログで詳細にそれを書いた:

http://adilatwork.blogspot.co.uk/2012/12/android-show-view-as-pressed-without.html

関連する問題