2014-02-14 62 views
1

我想更改保留的圖像按鈕的圖像,並在發佈時更改它。 這裏是我的主要代碼幫助編輯這個。 XML代碼:更改圖像按鈕保留

<ImageButton 
       android:layout_width="62dp" 
       android:layout_weight="1" 
       android:layout_height="60dp" 
       android:id="@+id/im1" 
       android:layout_gravity="fill_horizontal" 
       android:src="@drawable/off1"/> 

和java代碼:

im1 = (ImageButton) findViewById(R.id.im1); 
     im1.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
      //some codes 
      } 
     }); 
+0

使用imagebutton選擇器 – San

回答

2

你只需要在設置按鈕選擇您佈局文件。

<Button 
    android:id="@+id/button1" 
    android:background="@drawable/selector_xml_name" 
    android:layout_width="200dp" 
    android:layout_height="126dp" 
    android:text="Hello" /> 

並完成。

編輯

以下是在繪製目錄

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/numpad_button_bg_selected" android:state_selected="true"></item> 
    <item android:drawable="@drawable/numpad_button_bg_pressed" android:state_pressed="true"></item> 
    <item android:drawable="@drawable/numpad_button_bg_normal"></item> 

</selector> 

在這種button_effect.xml文件中,可以看到有3繪項目,你只需要這個button_effect風格的地方,你的按鈕,我上面寫道。你只需要用button_effect替換selector_xml_name。

+0

謝謝。有效! –

0

使用選擇這樣和按鈕將此繪製:

<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/buttonbluepressed" /> 
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/buttonbluepressed" /> 
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/buttonbluepressed" /> 
    <item android:drawable="@drawable/buttonblue"/> 
</selector> 
1

是的,你必須使用選擇器。你可以使用TogggleButton並將其設置爲android:checked = "true",並將背景設置爲@drawable/selector,然後只在hodiing上釋放它將改變其狀態。 toggle_button_selector.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:drawable="@drawable/image1_pressed" 
      android:state_pressed="true" /> 
    <item android:drawable="@drawable/image2_pressed" 
      android:state_checked="true" /> 
    <item android:drawable="@drawable/image1_pressed" 
      android:state_checked="false" /> 
</selector> 

然後在佈局文件

<ToggleButton 
     android:id="@+id/btnToggle" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="wrap_content" 
     android:textOn="" 
     android:textOff="" 
     android:checked="true" 
     android:background="@drawable/toggle_button_selector" /> 

你可以用一個按鈕也做同樣的事情。