2012-05-03 18 views
7

Androidのボタンをアニメーション化する方法はありますか?クリックすると、ボタンの背景がプレスされた画像に変わりますか?ボタンのクリックによる視覚的な状態の変化

私はフォームボタンで画像を表示するためにバックグラウンドプロパティを使用しています。

+3

この意味でのアニメーションは、本物の「アニメーション」自体ではなく、状態の変化を反映しているため、誤解を招きます。 (私は実際にボタンをアニメートしようとしているので、このスレッドは役に立ちません!) – styler1972

答えて

20

このXMLを使用してください:それをdrawableフォルダに保存し、背景drawableとして設定します。

<?xml version="1.0" encoding="utf-8" ?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="false" android:drawable="@drawable/category_listing_bg_img" /> 
<item android:state_pressed="true" android:drawable="@drawable/category_listing_bg_img_pressed" /> 
</selector> 
1

はいあります。 onTouchListenerを実装します。この書き込みonTouch方法で(イベントを言うことができます)MotionEvent変数を使用する:あなたは何をすべきか

if (event.getAction() == MotionEvent.ACTION_DOWN){ 
    /*Code*/ 
} 
if (event.getAction() == MotionEvent.ACTION_UP){ 
    /*Code*/ 
} 
+0

あなたは質問を読まれましたか? – thepoosh

+0

KKDによって掲載された上記の方法は、thepooshで使用することもできます。 –

1

こと(Krishnakant Dalalが話していたもの)selectorを作成することです。 それはすべての単一の状態で、それは(プレス、無効にすると、通常など)とすることができるようにUI要素がどのように見えるかHANDELS

セレクタの詳細はこちら読み:http://android-journey.blogspot.com/2009/12/android-selectors.html

5

はあなたのres /描画可能にxmlファイルを追加フォルダ名button_selector.xmlは、押された状態のための2つの描画可能なオブジェクトと、非押された状態または通常の状態のための1つの描画可能なオブジェクトを配置します。最後にこの2つのxmlファイルボタンセレクターを追加すれば、すべてがうまくいくはずです! @ drawable/bytton_selector.xmlをmain.xmlファイルのボタンの背景として設定することを忘れないでください。

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/> 
     <item android:drawable="@drawable/btn_unpressed"/> 

    </selector> 
+0

作品はありますが、アンドロイド:state_pressed = "false"が不要な理由を知りたいですか?私はそれを使わずにテストしましたが、まだ動作しています.2つの状態をチェックするよりもパフォーマンスが良いでしょうか? – lynndragon

関連する問題