首页 > 解决方案 > Android:如何在单击时更改 imageButton 并在未单击时还原?

问题描述

我正在创建一个 android 应用程序,我想ImageButton更改我在按下时创建的按下精灵,然后在按下它时更改回原始精灵。

我尝试弄乱该.isPressed()函数,但它与该event函数不同,因此它的工作方式不一样ACTION_DOWN,它主要冻结了程序,偶尔会做一些事情,但不是应该做的事情。

任何人都可以帮忙吗?

XML:

<ImageButton
                android:id="@+id/player_down"
                android:layout_width="wrap_content"
                android:layout_height="40dp"
                android:layout_weight="1"
                android:background="#00000000"
                android:scaleType="centerInside"
                app:srcCompat="@drawable/player_down_1"

主要活动:

public void onClick(View view) {
if (view == player_down) {
     pixelGridView.player_goDown();
}
           

MainActivity 与归档尝试:

if (view == player_down) {
   player_down.setImageResource(R.drawable.player_down_2);
   if(!player_down.isPressed()) {
        player_down.setImageResource(R.drawable.player_down_1);
        pixelGridView.player_goDown();
   }
}

标签: android

解决方案


一个简单的答案可能是使用布尔值和不同的资产,例如切换按钮

主要活动

Boolean isClicked = false;

public void onClick(View view) {
if (view == player_down) {

   if(isClicked == true){
       isClicked = false;
       // change your button here
   }else{

       isClicked = true;       
       // change your button here
   }
     pixelGridView.player_goDown();
}
  

推荐阅读