2015-10-03 47 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

好吧,如果我不想要其他任何事情发生,除了图像改变,我应该保持空白? –