我正在使用Android Studio,我想知道是否有任何方式添加兩個圖像到一個按鈕,並且只有其中一個可見(活動)在?AndroidStudio將兩個圖像添加到一個按鈕
現在我使用以下方法: 在我的活動我有4個按鍵和所有的人我註冊一個View.OnTouchListener
和我管理的事件,它是這樣的:在這所以
private class ButtonOnTouchListener implements View.OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent event) {
int eventaction = event.getAction();
switch (eventaction) {
case MotionEvent.ACTION_DOWN:
clickButton(v);
return true;
case MotionEvent.ACTION_UP:
unClickButton(v);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
v.callOnClick();
}
break;
}
// tell the system that we handled the event but a further processing is required
return false;
}
private void clickButton(View button) {
switch (button.getId()) {
case R.id.buttonLogin:
button.setBackgroundResource(R.drawable.activity_main_button_enter_press);
break;
case R.id.buttonRegister:
button.setBackgroundResource(R.drawable.activity_main_button_registration_press);
break;
case R.id.buttonCheckUpdate:
button.setBackgroundResource(R.drawable.activity_main_button_update_check_press);
break;
case R.id.buttonExit:
button.setBackgroundResource(R.drawable.activity_main_button_exit_press);
break;
}
}
private void unClickButton(View button) {
switch (button.getId()) {
case R.id.buttonLogin:
button.setBackgroundResource(R.drawable.activity_main_button_enter_idle);
break;
case R.id.buttonRegister:
button.setBackgroundResource(R.drawable.activity_main_button_registration_idle);
break;
case R.id.buttonCheckUpdate:
button.setBackgroundResource(R.drawable.activity_main_button_update_check_idle);
break;
case R.id.buttonExit:
button.setBackgroundResource(R.drawable.activity_main_button_exit_idle);
break;
}
}
}
我在事件中進行切換以確定哪個按鈕被點擊並更改適當的資源。這意味着對於每個活動,我必須創建一個自定義類並在事件中進行切換。
我可以做類似如下:
private void ClickButton(View button){
button.setBackgroundResource(button.getResourceImage1);
}
private void unClickButton(View button){
button.setBackgroundResource(button.getResourceImage2);
}
這樣我可以做一個全球OnTouchListener
,只是設置在XML文件中的圖像的每一個按鈕,不用擔心任何Java代碼。
我試圖在background
/圖像之間切換,但由於某些原因我無法隱藏前景圖像。
奇怪,它只能在我第一次按下按鈕。下一次我按下它不會改變。有任何想法嗎? –
哦,對不起,我沒有清除我之前更改圖片的所有代碼。它現在有效。這是答案,謝謝! :) –
歡迎光臨。享受:) –