2013-12-18 69 views
0

當我將按鈕放入GridLayout時,觸摸響應在視覺上與正常情況不同。快速觸摸時,從默認狀態到按下狀態的變化看起來像正常,但是當我觸摸並按住時,在顯示按下的按鈕之前有一個非常明顯的延遲。任何想法爲什麼?Android GridLayout中的慢速按鈕響應

我試圖將按鈕移動到GridLayout之外,然後它再次表現正常 - 它立即變爲按下狀態。我也試過android:longClickable="false"但這並沒有解決問題。

這是我簡單的測試:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <Button 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:text="1" 
     android:textStyle="bold" 
     android:textSize="40dp" 
     android:background="@drawable/num_button"/> <!-- Same result without this drawable--> 
</GridLayout> 

我的測試設備是谷歌Nexus 10搭載KitKat。

+0

可能與你的可繪製的大小。他們多大 ? – OcuS

+0

我只是試圖刪除我的自定義背景,但慢響應是相同的。 – Guppel

回答

0

我有同樣的問題,但我在SO上發現了類似帖子中的修復。

你需要重寫一個按鈕,添加以下代碼:

public boolean onTouchEvent (MotionEvent event) 
{ 
    if (event.getAction() == MotionEvent.ACTION_DOWN) setPressed(true); 
    return super.onTouchEvent(event); 
} 
+0

謝謝! 你有鏈接到你提到的其他SO-post嗎? – Guppel

+0

認爲我自己找到了,在這裏: http://stackoverflow.com/questions/5040303/how-can-i-make-a-button-more-responsive – Guppel