2010-11-07 79 views
0

我在我的XML文件中定義了一個按鈕。按鈕的工作方式與您期望的完全相同......直到我在底部添加該行(android:background =「drawable/leftarrow1」)。然後該按鈕在活動中不再可點擊,但新背景顯示爲我想要的。使用XML設置按鈕視圖的背景會使按鈕不可點擊

什麼給?

<Button 
    android:id="@+id/switch_left" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_centerVertical="true" 
    android:background="@drawable/leftarrow1" /> 

這裏是參考

Button switchLeft = (Button) findViewById(R.id.switch_left); 
switchLeft.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     Log.w(this.getClass().getName(), "clicked left arrow"); 
    } 
}); 

回答

2

點擊代碼我工作完全正常。每次點擊都會被記錄。

我的猜測是你使用一個實體圖像文件(.png,.jpeg)作爲背景。如果你只是使用這樣的圖像,它將不會改變點擊或選擇。爲此,可以描述here所描述的狀態列表。

在該XML文件中,您可以定義圖像以顯示特定狀態(如選定,單擊等)。

另一個提示。如果你想查看按鈕的功能,例如使用這種類型的代碼。

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.Toast; 

public class TestButton extends Activity { 

    Context ctx = null; 
    Button btn = null; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.buttonbackground); 

     ctx = getApplication(); 

     btn = (Button) findViewById(R.id.switch_left); 

     btn.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Toast.makeText(ctx, "Button clicked", 5000).show(); 
       // Log.w(this.getClass().getName(), "clicked left arrow"); 
      } 
     }); 
    } 
} 

由於吐司消息是一種更直觀的反饋,因此您將更容易識別該事件。

+0

我不能讓那個吐司工作...試圖getApplicationContext()了。另外,是的,我使用png/jgp作爲背景。我是否必須執行所有狀態列表drawable才能正常工作? – user432209 2010-11-07 19:53:04

+0

注:我不關心什麼按鈕的樣子,我在乎的代碼射擊,當我點擊它...它不是做:( – user432209 2010-11-07 19:58:36

+0

@ user432209:不,你沒有實現狀態-list繪製,這只是一個指向一個更優雅的方式來顯示背景但它是不相關的問題。我在哪裏見過你提到你有保存日誌信息的自定義視圖您的第二個問題。如果它是請告訴我,讓我能回答正確的問題,涉及到它 – 2010-11-07 19:58:45

0

嘿好友顯示按鈕與圖像有一個ImageButton可用。 在xml文件中試試這個。

+0

他想有一個自定義的背景並不在此按鈕上的圖標。 – 2010-11-07 19:34:01

+0

真正屋大維但是從他的資源˚F ILE看來他最初設定的背景下,因此,我建議相同。 – 2010-11-07 19:41:20