簡體   English   中英

Android:按鈕Onclick事件

[英]Android: Button Onclick event

我想將顏色更改回默認顏色。

如果假設我單擊按鈕; 按鈕的顏色必須改變。 如果我再次點擊相同的按鈕......顏色必須重新設置為默認值。

我怎樣才能做到這一點......

b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (clicked) {
                    holder.b1.setBackgroundResource(R.drawable.like_icon_hover);
                } else {
                    holder.b1.setBackgroundResource(R.drawable.like_icon);
                }
                clicked = false;
            }
        });

試試這種方式

b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (clicked) {
                holder.b1.setBackgroundResource(R.drawable.like_icon_hover);
                clicked = false;
            } else {
                holder.b1.setBackgroundResource(R.drawable.like_icon);
                clicked = true;
            }

        }
    });

或者在drawable/selector.xml創建一個Selector drawable/selector.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/like_icon_hover" />
  <item
   android:state_pressed="false"
   android:drawable="@drawable/like_icon" />
 </selector>

並將此Selector設置為ButtonBackground ,如:

android:background="@drawable/selector"
b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (clicked) {
                holder.b1.setBackgroundResource(R.drawable.like_icon_hover);
            } else {
                holder.b1.setBackgroundResource(R.drawable.like_icon);
            }
            clicked = !clicked;
        }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM