1

ボタンを押したときにイメージが正しく変化し、ボタンを持ち上げるとACTION_UPが呼び出されます...ただし、ACTION_DOWNが呼び出されて指を離すと(外側)ボタンを押して持ち上げると、ACTION_UP がまだ呼び出されます。画像を通常の状態に戻し、他に何もしない必要があります。

twitterBtn.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent touchEvent) {
                switch(touchEvent.getAction())
                {
                    case MotionEvent.ACTION_DOWN:
                        twitterBtn.setBackgroundResource(R.drawable.logintwittertouched);
                        return true;
                    case MotionEvent.ACTION_CANCEL:
                        twitterBtn.setBackgroundResource(R.drawable.logintwitter);
                        return true;
                    case MotionEvent.ACTION_UP:
                        twitterBtn.setBackgroundResource(R.drawable.logintwitter);
                        try {
                            adapter.authorize(MainActivity.this, Provider.TWITTER);
                            dialog = ProgressDialog.show(MainActivity.this, "", "Connecting to Twitter", true);
                        } catch (Exception e) {
                            Log.v(getString(R.string.clickrerr), "" + e.toString());
                        }
                    return true;
                }
                return false;

            }

        });
4

1 に答える 1

1

XML で実行します。

  1. 作成res/drawable/twitter_button.xml:

    <item android:drawable="@drawable/twitter_button_on" android:state_pressed="true"/>
    <item android:drawable="@drawable/twitter_button_off"/>
    

    twitter_button_on.pngとの2 つの画像を使用します。これらもフォルダーtwitter_button_off.pngに配置する必要があります。drawable

  2. レイアウトで、これを に追加します<Button>

    android:background="@drawable/twitter_button"
    
于 2013-08-21T19:28:05.423 に答える