1
A
回答
1
在您的按鈕的onDraw(..)
方法,你可以簡單地檢查this.isPressed()
這當按下你的按鈕應返回true
。
編輯:
您也可以在您觸摸Button's subclass
事件:
Example:
public class tempButton extends Button {
public tempButton(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN:
//Button Pressed, Change the color of your Button here.
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_MOVE:
break;
}
return true;
}
}
我希望這有助於。
0
試試這個自定義繪製對象:
class SLD extends StateListDrawable {
@Override
protected boolean onStateChange(int[] stateSet) {
invalidateSelf();
return super.onStateChange(stateSet);
}
@Override
public void draw(Canvas canvas) {
int[] states = getState();
Log.d(TAG, "draw " + StateSet.dump(states));
boolean pressed = false;
boolean focused = false;
for (int i = 0; i < states.length; i++) {
int state = states[i];
if (state == android.R.attr.state_pressed) {
pressed = true;
}
if (state == android.R.attr.state_focused) {
focused = true;
}
}
if (pressed) {
canvas.drawColor(0xffff8800);
} else
if (focused) {
canvas.drawColor(0xffff0000);
} else
canvas.drawColor(0xffaaaaaa);
}
}
,並與的onCreate以下測試:
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
for (int i = 0; i < 5; i++) {
Button b = new Button(this);
b.setText("button #" + i);
b.setBackgroundDrawable(new SLD());
ll.addView(b);
}
setContentView(ll);
相關問題
- 1. Silverlight按鈕風格如何防止按下按鈕時的聚焦狀態?
- 2. 按鈕將被聚焦並處於默認選定狀態
- 3. 如何聚焦狀態到z3c.form輸入
- 4. 如何知道文本字段在android webview中的何時何地被聚焦?
- 5. 清除TEXTAREA值點擊(聚焦狀態)
- 6. 聚焦控制內部RichTextboxes
- 7. Texarea聚焦狀態,在使用javascript
- 8. Android:在按鈕被選中,聚焦或按下時重複dispatchKeyEvent
- 9. 新textarea的聚焦狀態不工作
- 10. 如何知道firemonkey中的焦點在控件內部?
- 11. tvOS:強制一個按鈕被聚焦
- 12. Xamarin Grid如何知道哪個按鈕被按下
- 13. 如何知道什麼按鈕被按下?
- 14. 如何知道服務中哪個硬件按鍵被按下?
- 15. 如何知道按鈕是否被按下或釋放?
- 16. 如何知道哪個按鈕被按下?
- 17. UIBarButtonItem。如果按鈕被按下,如何顯示切換狀態?
- 18. jQuery的聚焦狀態的onblur問題
- 19. 的JavaScript的onblur /聚焦狀態功能
- 20. Freebase:javascript,如何知道狀態響應
- 21. 如何知道Self hosted serivce的狀態?
- 22. Cloud.orbit.exception.UncheckedException:不知道如何處理狀態
- 23. 如何知道覆蓋圖標狀態?
- 24. 我如何知道服務狀態?
- 25. 如何知道JToolbar的狀態?
- 26. 如何知道Spark作業的狀態
- 27. 如何知道jquery中div的狀態?
- 28. 我如何知道chrome.experimental.socket的狀態?
- 29. 引導按鈕組 - 覆蓋活動/聚焦狀態
- 30. 如何知道在C中按下某個鍵時的Shift鍵狀態?
你不應該擴展Button類,則應擴展繪製對象類,而不是 – pskink
任何的例子嗎?這將有助於 – mSO
1)擴展可繪製2)覆蓋isStatefull返回是3)覆蓋onStateChanged獲得當前狀態4)執行繪製方法 – pskink