2011-04-28 73 views
2

我已經實現了ImageButton。除非按下按鈕,否則所有按鈕都可以正常工作,但在繼續操作之前不會「閃爍」(到另一活動)。 Android對ImageButton有內在的「閃光」,或者我必須在onClickEvent中明確地寫/動畫嗎?或使用選擇器?Android imagebutton不會在點擊時閃爍

在此先感謝您的幫助。

+0

你是什麼意思下的「閃光」?按鈕可能有三種狀態:正常,聚焦和按下。你是說壓迫狀態? – 2011-04-28 09:54:41

+0

@Anton - 現在ImageButton不會顯示它是否被按下,然後釋放或任何東西。我只想爲用戶提供一個視覺反饋,例如閃爍背景(圖像按鈕有一個透明背景,以綠色開始),然後再繼續。 – MikeC 2011-04-28 10:07:03

回答

0

以編程方式完成它,因爲我在Eclipse中使用「選擇器」時也抱怨「無法解析文件」。

public void flashBtn (final ImageButton myBtnToFlash){ 
    myBtnToFlash.setBackgroundResource(R.drawable.glossy_button_green_rectangle); 
    Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     public void run() { 
      myBtnToFlash.setBackgroundResource(0); 
     } 
    }, 50); 

} 
+1

您是否有其他UI元素的通用解決方案? – 2011-10-17 23:32:16

1

如果你有正常的按鈕圖像和一個圖像按下狀態,你應該使用一個選擇。我認爲這是最簡單的方法。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:constantSize=["true" | "false"] 
    android:dither=["true" | "false"] 
    android:variablePadding=["true" | "false"] > 
    <item 
     android:drawable="@[package:]drawable/drawable_resource" 
     android:state_pressed=["true" | "false"] 
     android:state_focused=["true" | "false"] 
     android:state_selected=["true" | "false"] 
     android:state_checkable=["true" | "false"] 
     android:state_checked=["true" | "false"] 
     android:state_enabled=["true" | "false"] 
     android:state_window_focused=["true" | "false"] /> 
</selector> 
+0

我在ImageButton的各種狀態中沒有不同的圖像。我想要的只是一個視覺提示,向用戶顯示他按下了按鈕(閃光燈或IB背景的兩倍),然後繼續前進。 – MikeC 2011-04-28 10:17:58

+0

我想你可以簡單地在選擇器中設置一個顏色: dbrettschneider 2011-04-28 12:13:34

+0

Thx。我將不得不在稍後嘗試。現在打包旅行......我猜Selector是要走的路。 – MikeC 2011-04-28 12:19:42

2

如果你讓你的ImageButton保持其背景,不將其設置爲空,它會像一個正常的按鈕,點擊時會閃爍,酷似其他buttons.The方法來隱藏它時的背景仍然存在:

<ImageButton 
    android:id="@+id/imageButton2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:paddingBottom="1dp" 
    android:paddingLeft="1dp" 
    android:paddingRight="1dp" 
    android:paddingTop="1dp" 
    android:src="@drawable/squareicon" /> 

填充不會讓背景變得可見,並使按鈕像其他按鈕一樣操作。

+0

不適用於圓形按鈕 – 2014-06-06 13:37:43

0

對於ImageButtons,你不應該設置它的背景。將圖像設置爲「src」,然後ImageButton仍然具有默認的閃爍屬性。

在這裏,我想,你正在爲你的ImageButton設置一個背景,這並不是我所要求的。

+0

設置圖像的src導致灰色按鈕背景顯示在圖像的周圍 – 2014-06-06 13:38:53

+0

是的,這是預期的。如果您不想看到灰色背景,可以將背景設置爲空/透明。 – 2014-06-08 14:45:12