我創建了一個Button b
,其背景色爲黑色。當我點擊它時,我希望它的顏色只在我有手指的時候變成綠色,即我一直關注它。如何更改android studio中按鈕水龍頭上按鈕的顏色
回答
使用在您的按鈕選擇聽。
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:gravity="center" android:focusable="true"
android:minHeight="?android:attr/listPreferredItemHeight"
android:background="@android:drawable/list_selector_background" />
這裏是list_selector_background 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="@color/green"/> <!-- pressed -->
<item android:state_focused="true" android:drawable="@color/blue"/> <!-- focused -->
<item android:drawable="@color/black"/> <!-- default -->
</selector>
ACTION_UP - >的壓制手勢完成時,運動包含 最終釋放位置以及由於 任何中間點最後向下或移動事件。
ACTION_DOWN - >按下的手勢已經開始,動作包含 的初始起始位置。
你應該設置你的按鈕的OnTouchListener。
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
btn.setBackgroundColor(getResources().getColor(R.color.colorAccent));
} else if (event.getAction() == MotionEvent.ACTION_UP) {
btn.setBackgroundColor(getResources().getColor(R.color.white));
}
}
};
as getColor()is used to use,btn.setBackgroundColor(ContextCompat.getColor(getActivity(),R.color.colorAccent)); @ Diptangsu Goswami –
您需要使用onTouchListener
當用戶按下按鈕(ACTION_DOWN),當用戶釋放它(ACTION_UP)
b.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
// reset the background color here
b.setBackgroundColor(Color.GREEN);
}else{
// Change the background color here
b.setBackgroundColor(Color.RED);
}
return false;
}
});
而不是像這樣註冊觸摸事件,我們可以使選擇器可繪製使用多種顏色/繪製不同的狀態。 – seema
使這個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="@color/green"/>
<item android:drawable="@color/black"/>
</selector>
- 1. 水龍頭上的彈跳按鈕
- 2. 如何更改Android按鈕顏色onClick?
- 3. Android Studio - 在按鈕水龍頭上播放聲音WEAR
- 4. Android按鈕水龍頭地區
- 5. 如何攔截按鈕水龍頭?
- 6. 按鈕水龍頭和長按手勢
- 7. 更改顏色的按鈕
- 8. 在按鈕水龍頭上更改WebView URL
- 9. 如何更改按鈕的tabcontrol顏色?
- 10. 如何更改gridView的按鈕顏色
- 11. 如何更改按鈕的顏色?
- 12. 如何更改按鈕的顏色
- 13. 如何更改UIActionsheet按鈕的顏色?
- 14. IBAction按鈕更改顏色?
- 15. 更改按鈕顏色
- 16. 按鈕更改顏色
- 17. 更改按鈕顏色
- 18. 更改AlertDialog.Builder按鈕顏色
- 19. 更改radcombobox按鈕顏色
- 20. 更改按鈕顏色onClick
- 21. 如何在Android中按下時更改顏色按鈕的顏色?
- 22. 如何在選擇按鈕時更改按鈕的顏色?
- 23. 如何更改Android上的切換按鈕的背景顏色
- 24. 更改TextView按下按鈕的顏色
- 25. Android更改ABS按鈕顏色
- 26. 使用SharedPreferencers Android更改按鈕顏色?
- 27. 如何按下一個按鈕時更改上一個按鈕的顏色?
- 28. 如何更改按鈕顏色?
- 29. 如何更改顏色點擊按鈕?
- 30. 如何更改WinForms按鈕顏色?
請提供您所做的工作,並告訴我們您遇到問題的位置。 – Flummox
看到這個:http://stackoverflow.com/a/1726352/5250273 –
這裏是相同的問題回答清楚http://stackoverflow.com/questions/3882064/how-to-change-color-of-button-in- android-when-clicked – fReeTaSte