Tôi có một Android ImageButton nhỏ trên màn hình biểu thị một biểu tượng. Vấn đề là khó chạm vào và kích hoạt. Tôi không muốn tăng kích thước của hình ảnh nhưng tôi muốn mở rộng vùng có thể nhấp và làm cho nó lớn hơn, vì vậy nếu người dùng đủ gần với hình ảnh, nó sẽ kích hoạt sự kiện onClick. Làm thế nào điều này có thể được thực hiện mà không cần thực hiện các sự kiện onTouch cho khu vực màn hình xung quanh?Android ImageButton làm cách nào để có khu vực có thể nhấp lớn hơn chính hình ảnh đó?
Trả lời
Bạn có thể quấn ImageButton
trong một ViewGroup
khác và đặt đệm trên ViewGroup
. Sau đó, bạn sẽ nghe các nhấp chuột vào số ViewGroup
. Dưới đây là một ví dụ:
<FrameLayout
android:id="@+id/button_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="20dp" >
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/my_button"
android:duplicateParentState="true"
android:clickable="false"
android:focusable="false" />
</FrameLayout>
Sau đó, bạn sẽ lắng nghe cho các nhấp chuột trên R.id.button_layout
, và ImageButton
bạn sẽ nhận được tất cả các bang cùng (ép, nhấn vào, vv) như cách bố trí mẹ.
Tôi đã có một tình huống tương tự ... Tôi chỉ cần đặt biểu tượng bằng cách sử dụng bố cục tương đối, sau đó đặt một nút lớn hơn trực tiếp lên trên đầu nó sử dụng một bản vẽ hoàn toàn trong suốt ở trạng thái bình thường và thêm màu mờ cho nhấn/tập trung/etc.
làm cách nào để bạn chỉ định màu mờ? –
Tôi đã vẽ các biểu tượng (trạng thái bình thường là một hình vuông trống không có màu hoặc alpha, tất nhiên) và tham chiếu tất cả thông qua một xml có thể vẽ được, đặt nút có thể vẽ được thành xml. không chỉ làm điều này để làm cho nút lớn hơn hình ảnh, nhưng nó cho phép tôi sử dụng một hình ảnh hệ thống tĩnh cho một biểu tượng điện thoại để giữ cho mọi thứ thống nhất trên từng thiết bị riêng biệt –
xem tại đây: http://developer.android.com /resources/tutorials/views/hello-formstuff.html –
Tôi không chắc chắn cách bố cục của chúng tôi được định cấu hình nhưng một điều bạn cần lưu ý là sử dụng bố cục tương đối. Tạo biểu tượng của bạn với nền trong suốt lớn. Bạn sẽ phải fiddle với bố trí để có được vị trí chính xác, nhưng khu vực trong suốt cũng sẽ có thể nhấp.
- 1. Hình ảnh có thể nhấp - android
- 2. Khu vực có thể nhấp của Google Map Marker
- 3. Tùy chỉnh khu vực có thể nhấp trên Marker trong Google Maps v2 cho Android
- 4. Sự khác nhau giữa Nút có hình ảnh, ImageButton và ImageView có thể nhấp là gì?
- 5. Liên kết bên trong khu vực có thể click lớn hơn (CSS Only)
- 6. iPhone, Bản đồ, các khu vực không phải hình chữ nhật có thể nhấp
- 7. Xử lý khu vực có thể click vào ImageView
- 8. Chiều rộng của khu vực có thể nhấp trong ListView w/onListItemNhấp vào
- 9. Bản đồ hình ảnh có thể nhấp C#
- 10. làm thế nào để điền vào màu sắc trong hình ảnh trong khu vực cụ thể?
- 11. Tạo vùng có thể nhấp trong hình ảnh?
- 12. Có thể ẩn khu vực cụ thể của hình nền sprite CSS bằng clip không?
- 13. Lập trình có ảnh chụp màn hình của khu vực cụ thể
- 14. Làm cách nào để chụp màn hình của khu vực hiển thị UIScrollView?
- 15. android Imagebutton thay đổi Hình ảnh OnClick
- 16. Bật mục danh sách để khu vực có thể nhấp trong jQuery Mobile
- 17. Làm thế nào để tạo bản đồ khu vực hình ảnh vị trí tuyệt đối có thể nhấp được bằng chuột?
- 18. jquery - Hình ảnh có thể kéo khi hình ảnh lớn hơn vùng chứa
- 19. Thêm lớp phủ trong suốt lớn hơn để tăng diện tích có thể nhấp, mà không thay đổi bố cục
- 20. Có cách nào để sử dụng JCrop để cắt một diện tích lớn hơn hình ảnh thực tế không?
- 21. Làm cách nào tôi có thể kéo hình ảnh trong nút hình ảnh thành toàn bộ vùng của nút ảnh?
- 22. Android Set ImageButton là Toggle
- 23. Hình ảnh phù hợp trong ImageButton trong Android
- 24. Vẽ khu vực hình tròn
- 25. Khu vực bản đồ hình ảnh poly coords nào đó Firefox không hoạt động, IE hoạt động
- 26. Làm cách nào để xác định liệu một địa chỉ được hiển thị trong khu vực hiện có thể xem?
- 27. Graphics.DrawImage có quá chậm để có hình ảnh lớn hơn không?
- 28. Làm cách nào để tạo một hình ảnh có thể vẽ từ nhiều hình ảnh?
- 29. cách thay đổi màu sắc của một khu vực cụ thể trên bản đồ api v2 của Google trong android
- 30. vẽ hình ảnh lên bitmap lớn hơn
điều này dường như không hoạt động. –
Ý tưởng chỉ cần đặt padding = "20dip" thay vì paddingRight, paddingLeft etc? –
Đây có lẽ là kỹ thuật nhanh nhất nếu nó hoạt động, nhưng tôi vẫn chưa thể xác minh nó. –