tôi có một cái nhìn với một onTouch
có thể phân biệt giữa đầu vào cảm ứng và nhấp chuột trái/giữa/phải, như trongLàm cách nào để chế độ xem của tôi phản hồi với con lăn chuột?
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getButtonState() == MotionEvent.BUTTON_PRIMARY) // API 14 required
...
...
}
tôi cũng như quan điểm này để đáp ứng các mousewheel. onTouch
không phải là cách, cũng như tôi không tìm thấy bất kỳ trình xử lý sự kiện nào khác để phản hồi con lăn chuột. Có lẽ quan điểm có thể giả vờ là có thể cuộn được và làm điều riêng với các phương pháp cuộn? Tại thời điểm này, tôi đã từ bỏ, và đang sử dụng đầu vào bàn phím (1 đến 9, cộng với 0) để chọn các phần tử hiển thị mà tôi muốn chọn với con lăn chuột.
Vì vậy, một gợi ý chắc chắn hoặc một chút mã sẽ được đánh giá cao.
Đừng lo lắng rằng giao diện người dùng Android yêu cầu bàn phím và chuột sẽ bị gây ra cho công chúng; ứng dụng là một công cụ phát triển.
EDIT: câu trả lời chính xác được đưa ra dưới đây, nhưng chỉ cần như vậy câu hỏi này là hữu ích hơn với người đọc trong tương lai, điều này được (hơi edited) mã thực tế mà tôi đang sử dụng kết quả là:
@Override
public boolean onGenericMotionEvent(MotionEvent event) {
if (0 != (event.getSource() & InputDevice.SOURCE_CLASS_POINTER)) {
switch (event.getAction()) {
case MotionEvent.ACTION_SCROLL:
if (event.getAxisValue(MotionEvent.AXIS_VSCROLL) < 0.0f)
selectNext()
else
selectPrev();
return true;
}
}
return super.onGenericMotionEvent(event);
}
Bạn có thể có được một sự kiện quan trọng, chẳng hạn như pageup hay gì đó không? GoogleTV có các bàn phím đó, nhưng tất cả tôi có thể tìm thấy các cuộc đàm phán về d-pad, không phải bánh xe cuộn. –
@jeffamaphone, 'Toast.makeText (this," ke: "+ KeyEvent.keyCodeToString (mã khóa), Toast.LENGTH_SHORT) .show()' tạo ra kết quả tốt đẹp trong 'onKeyDown' của hoạt động. Nó im lặng khi tôi thao tác con lăn chuột. –
Vâng, đáng để chụp. –