1

タイトルはかなり自明ですが、私は私がsetStateListAnimator(null);を呼んでいるボタンがあります。私もOnClickListenerコールバックに登録しました。問題はsetStateListAnimator(null)私はonClick()のコールバックを取得しない場合はいつでも呼び出されます。のonClick()(ヌル)setStateListAnimator後にコールバックを取得することはできません

<Button android:id="@+id/urlSubmittButton" 
    android:layout_below="@id/editLyout" 
    android:layout_width="150dp" 
    android:layout_height="45dp" 
    android:text="Add" 
    android:layout_marginTop="10dp" 
    android:textSize="18sp" 
    android:layout_centerHorizontal="true" 
    android:gravity="center" 
    android:padding="5dp" /> 

と私のFragment中:あなたが見ることができるように

urlSubmitButton = (Button) mView.findViewById(R.id.urlSubmittButton); 

urlSubmitButton.setClickable(true); 
urlSubmitButton.setEnabled(true); 
urlSubmitButton.setOnClickListener(this); 

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
    urlSubmitButton.setStateListAnimator(null); 
} 

、私はそれが動作を変更しない、Buttonクリッカブルを設定しようとした有効。しかし、そのコード行だけでコメントするのは魅力です。

API24のこの動作は意図されていますか?これまでのところ、私はAPI 24デバイスでこの問題を再現できました。そうでない場合は、stateListAnimatorを停止する他の方法がありますが、これをクリックするとButtonにウォータードロップリップルエフェクトが発生しますか?

答えて

0

ない場合は、クリックされたときButtonに水滴リップル効果をもたらすstateListAnimatorを停止させる他の方法はありますか?

まず、stateListAnimatorは何とかリップル効果と関連しているとは思いません。 stateListAnimatorは、ビューの現在の状態に基づいて実行するためにどのようなアニメーションを指定するのに対し、リップルは、Buttonに設定単なる背景です。状態はStateListDrawableになります。完全に波及効果があなたの活動のスタイルにこれを適用する隠すために

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    ... 
    <item name="selectableItemBackground">@null</item> 
    <item name="selectableItemBackgroundBorderless">@null</item> 
</style> 
+0

うーん、私は 'アンドロイドを考えた:' Button'が 'state_pressed'を使用して効果が波及するように設定した中animation' (私は間違っているかもしれない)。あなたはまだ言及していない理由に関係なく、どのようなstateListAnimator *実際に*それは 'のonClick()'コールバックを停止し無効化しません。しかし私は、 'style'をチェックし、それが働いたかどうかを知るようになります。 – Abbas

関連する問題