Tôi vẫn còn mới cho android nên tôi không hoàn toàn quen thuộc với tất cả các thành phần xem. Tôi đang vật lộn với việc căn chỉnh các Nút động quanh một vòng tròn.Tự động sắp xếp các Nút quanh Vòng tròn
Những gì tôi đang cố gắng để đạt được là để thêm các nút n (n có thể thay đổi vào thời điểm sáng tạo) để một cái nhìn trông giống như hình ảnh đính kèm:
Tôi muốn tránh sử dụng absoluteLayout (nhưng tôi mở để gợi ý nếu đó là cách duy nhất để giải quyết nó). tôi đã đưa ra một tính toán cho x/vị trí y cho các nút (bỏ qua kích thước nút cho bây giờ):
int iNumberOfButtons = 10;
double dIncrease = Math.PI * 2/iNumberOfButtons,
dAngle = 0,
x = 0,
y = 0;
for(int i = 0; i < iNumberOfButtons; i++)
{
x = 100 * Math.cos(dAngle) + 200;
y = 100 * Math.sin(dAngle) + 200;
dAngle += dIncrease;
// get button and set position?
}
Tôi nghĩ về việc sử dụng mã này từ bên trong một giao diện tùy chỉnh nhưng từ những gì tôi đã nhìn thấy xem cần phải được phân lớp từ ViewGroup để có phương thức addView và sau đó một lần nữa chỉ absoluteLayout dường như cho phép thiết lập x, y position ... Tôi đang thua lỗ cách thực hiện tính năng này.
Tôi có thể thêm một số hoạt ảnh vào chế độ xem đó sau này, vì vậy việc sử dụng SurfaceView có thể tốt đẹp nếu có thể nhưng không phải là yêu cầu.
Tôi đang gặp sự cố khác với phương pháp này. onDraw() được gọi lặp đi lặp lại mà không phải là những gì tôi muốn khi thiết lập các nút ở đó. Tôi đoán tôi có lẽ có lẽ xung quanh việc khởi tạo với một và nếu một boolean nhưng là có một cách chấp nhận để thực hiện các hành vi tôi muốn? (ví dụ: Bắt đầu chế độ xem tùy chỉnh của tôi bằng các nút, được đặt trong vòng tròn từ trung tâm, mà không cần đến onDraw?) –