按钮上的更改按钮图像单击

时间:2015-02-13 10:20:48

标签: android xml

Selector.xml

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

    <item android:drawable="@drawable/btn_call_active_big" android:state_pressed="true"/>
    <!-- pressed -->

    <item android:drawable="@drawable/btn_call_normal_big"/>

</selector>

按钮背景

 <ImageButton
            android:id="@+id/btnPhone"
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:layout_weight="1"
            android:background="@drawable/button_background"
            android:src="@drawable/btn_call_normal_big" />

请在上面提出建议。在哪里我做错了

4 个答案:

答案 0 :(得分:0)

您必须使用选择器代替png文件。变化

android:src="@drawable/btn_call_normal_big"

android:src="@drawable/nome_of_selector"

答案 1 :(得分:0)

boolean isPressed=false
button.setOnClickListener(buttonListener);

    OnClickListener buttonListener= new OnClickListener() {
    @Override
    public void onClick(View v) {
        if(isPressed){
        button.setBackgroundResource(R.drawable.icon1);
        }else{
        button.setBackgroundResource(R.drawable.icon2);
        }
        isPressed=!isPressed;
   }
};

希望它会对你有所帮助。

另请查看以下链接

http://www.mkyong.com/android/android-imagebutton-selector-example/

这也可以帮到你

答案 2 :(得分:0)

删除src属性并将背景属性值更改为选择器文件名。

  <ImageButton
        android:id="@+id/btnPhone"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_weight="1"
        android:background="@drawable/Selector"
         />

答案 3 :(得分:0)

使用此:

<ImageButton
            android:id="@+id/btnPhone"
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:layout_weight="1"
            android:src="@drawable/selector" />