2015-10-03 44 views
1

我跟其他地方的步驟,和我做了一個xml文件,像這樣:分配高亮狀態圖像到Android圖像按鈕

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/yeah2" 
     android:state_pressed="true" /> 
    <item android:drawable="@drawable/yeah" /> 

我爲我的按鈕活動的xml看起來是這樣的:

<ImageButton 

    android:layout_width="150dp" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageButton" 
    android:onClick="play1" 
    android:layout_below="@+id/textView" 
    android:layout_alignParentStart="true" 
    android:layout_marginTop="100dp" 
    android:src="@drawable/yeah" 
    android:clickable="false" 
    android:nestedScrollingEnabled="true" 
    android:background="@drawable/highlight" /> 

如何將突出顯示的狀態圖像分配給Android圖像按鈕?這樣

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<!-- Remember: order is important. First matching state(s) is rendered) --> 
<item 
    android:state_selected="true" 
    android:drawable="@drawable/yeah" /> 
<item 
    android:drawable="@drawable/yeah2" /> 

然後在Java中

+0

我的XML文件名是highlight.xml –

+2

那是什麼呀???? –

+0

這就是圖像按鈕文件的名稱 –

回答

0

使XML做以下

imageButton.setImageDrawable(getBaseContext().getResources().getDrawable(R.drawable.ImageButton)); 

//set the click listener 
imageButton.setOnClickListener(new OnClickListener() { 

public void onClick(View button) { 
    //Set the button's appearance 
    button.setSelected(!button.isSelected()); 

    if (button.isSelected()) { 
     //Handle selected state change 
    } else { 
     //Handle de-select state change 
    } 

} 

}); 
+0

我是Android新手;你能描述一下我將在「處理選定的狀態改變」和「處理取消選擇的狀態改變」中放置什麼? –

+0

它就像你想要做什麼時,按鈕顯示高亮顯示,用戶點擊它,另一種情況下你想要做什麼時,按鈕沒有突出顯示,用戶點擊它。這些沒有連接到顯示圖像。它只是當用戶點擊你的按鈕時會發生什麼:) @DhruvUpadhyay –

+0

好吧,如果我不想要其他任何事情發生,除了圖像改變,我應該保持空白? –