2013-03-16 36 views
10

Có thể một số người có thể giúp tôi tạo các nút tùy chỉnh như dưới đây không? Có thể không? Đã tìm kiếm rất nhiều và chỉ có thể tìm thấy một số thứ mà lần lượt trở thành rectangular/square shapes. Nhưng tôi muốn hai nút là triangular và được bố trí ở vị trí khác và chỉ có thể nhấp vào các khu vực bị chiếm đóng cụ thể của chúng. Đoạn mã được đánh giá cao.Tạo hai nút tùy chỉnh

enter image description here

+0

Có thể theo cách hợp lý bằng cách tạo hình ảnh giống như hình trên. Vì bạn không thể định dạng lại các nút lệnh. – Raynold

+1

@Raynold Nhưng nếu chúng ta tạo một hình ảnh, các sự kiện nhấp chuột có thể được tách ra như thế nào trên các hình dạng tương ứng của chúng? – Apparatus

+0

Bạn làm cách nào để giải quyết vấn đề này? Tôi có câu hỏi này [ở đây] [1] [1]: http://stackoverflow.com/questions/19797430/android-complex-shape-button –

Trả lời

2

Bạn có thể làm điều đó bằng cách mở rộng View và subclassing phương pháp onTouchEvent của nó, giống như

public class BottomLeftTriangleButton extends View { 

    // Copy superclass contructors 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     if (event.getX()/getWidth() < event.getY()/getHeight()) { 
      return super.onTouchEvent(event); 
     } 
     return false; 
    } 

} 

Bằng cách này này, giao diện tùy chỉnh của bạn chỉ đánh chặn nhấp chuột vào khu vực phía dưới bên trái, tương ứng với bạn " nút 2 "khu vực. Bạn có thể làm cho khu vực khác có thể nhấp bằng cách thay đổi "<" sign to ">".

Sau đó đặt 2 chế độ xem của bạn trong cùng một FrameLayout và bạn đã hoàn tất.

+0

Bạn có thể xin hãy giải thích về cách tạo nút tam giác và sắp xếp trên nhau như trong hình trên? – Apparatus

+0

Đặt 2 nút tùy chỉnh của bạn vào cùng một 'FrameLayout' và đặt' android: background' cho cả hai nút này thành hình ảnh nút của bạn. Không có tài nguyên mặc định cho các nút hình tam giác, bạn sẽ phải tự mình làm hình ảnh. Bạn có thể sử dụng [Danh sách nhà nước] (https://developer.android.com/guide/topics/resources/drawable-resource.html#StateList) để sử dụng các hình ảnh khác nhau cho các trạng thái được nhấn và bình thường. – minipif

+0

Cảm ơn bạn đã dành thời gian. Câu hỏi của tôi là làm thế nào để chuẩn bị những loại nút tùy chỉnh. – Apparatus