1

標題不言而喻,我有一個按鈕,我將其稱爲setStateListAnimator(null);。我還註冊了一個OnClickListener回調。問題是每當我撥打setStateListAnimator(null)時,我都沒有得到onClick()的回撥。setStateListAnimator(null)後無法獲取onClick()回調

<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點擊並啓用,它不會改變的行爲。然而,簡單地說,這行代碼的魅力。

這是API 24的預期行爲嗎?因爲到目前爲止,我只能在API 24設備中重現此問題。如果沒有,那麼有沒有其他的方法可以阻止stateListAnimator點擊時導致Button中的水滴紋波效應?

回答

0

如果沒有,那麼有沒有停止stateListAnimator點擊時會導致Button一個水滴,漣漪效應的任何其他方式?

首先,我不認爲stateListAnimator是以某種方式與漣漪效應連接。紋波只是設置爲Button的背景,而stateListAnimator則根據視圖的當前狀態指定要執行的動畫。請參閱StateListDrawable中的州。

爲了完全隱藏連鎖反應將此您的活動風格:

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

嗯,我想'安卓animation'在'Button'設置使用漣漪效應'state_pressed' (我可能是錯誤的課程)。你還沒有提到爲什麼不管stateListAnimator *實際上*是否取消它停止'onClick()'回調。然而,我會檢查'樣式'並且讓它知道它是否工作。 – Abbas

相關問題