Android按钮背景更改

时间:2011-11-24 10:46:10

标签: android button background

当用户点击应用中的按钮时,我正在创建Android应用 按钮图像应该更改“以显示它已按下”然后调用某个功能

在onclick函数中使用以下代码:

{
  btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.sync_active));
  sync();               
}

首先调用同步功能,然后按钮图像改变!!

3 个答案:

答案 0 :(得分:2)

使用像这样的按钮图像创建xml文件,并在drawable文件夹中使用mybutton.xml

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

并在按钮xml代码中使用它

android:background:@drawable/mybutton

您可以通过此https://stackoverflow.com/q/8132500/964741

进行检查

答案 1 :(得分:1)

您需要的只是使用 Android中的选择器,如下所示:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
    android:state_enabled="false"
        android:drawable="@drawable/btn_red" />
    <item 
        android:state_pressed="true" 
        android:state_enabled="true"
        android:drawable="@drawable/btn_orange" />
    <item 
        android:state_focused="true" 
        android:state_enabled="true"
        android:drawable="@drawable/btn_orange" />
    <item 
        android:state_enabled="true"
        android:drawable="@drawable/btn_black" />
</selector>

onClick()方法中;你只需要调用你的函数sync()

引用这个很棒tutorial这正是你想要的:)

答案 2 :(得分:1)

您可以尝试将sync()函数放入线程中。