0

最近サポートデザインライブラリを24.2.0に更新しました。私はこのバージョンではFloatingActionButtonのためにそれを長押しして指をその領域から動かすと、それはまだ押された状態(波紋の色を示し、より大きな仰角を維持する)のままであることがわかりました。どうすればそれをもう一度正常な状態にすることができますか?ここで指をその領域から移動した後で、FloatingActionButtonの押した状態をキャンセルする方法は?

は私FloatingActionButtonの例である:

<android.support.design.widget.FloatingActionButton 
    android:layout_width="56dp" 
    android:layout_height="56dp" 
    android:layout_gravity="bottom|end" 
    android:scaleType="center" 
    android:src="@drawable/act_add" 
    app:elevation="6dp" 
    app:borderWidth="0dp" 
    app:pressedTranslationZ="12dp"/> 
+0

フローティングボタンのポストコード。 –

+0

@ShabbirDhangotコードを追加しました。しかし、私はその属性を変更しようとしましたが、すべての 'FloatingActionButton'がこの問題を抱えていると考えました。 – ywwynm

答えて

0

は、設計サポートライブラリの問題であるように思われます。 Androidのバグはhttps://code.google.com/p/android/issues/detail?id=218956で公開され、いくつかの回避策が提出されました。以下は、私はタッチの解除時に押された状態を解除するために、(fabFloatingActionButtonです)onCreate内部で使用しています別の回避策です:

fab.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(final View view, MotionEvent motionEvent) { 
      int action = motionEvent.getAction() & MotionEvent.ACTION_MASK; 
      if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) { 
       view.post(new Runnable() { 
        @Override 
        public void run() { 
         view.setPressed(false); 
        } 
       }); 
      } 
      return false; 
     } 
    }); 

(どういうわけではないにクリックイベントを発生させたハンドラに直接setPressed(false)を呼び出しますいくつかのケースでトリガー)

関連する問題