저는 아직 안드로이드에 익숙하지 않아 모든 뷰 구성 요소에 익숙하지 않습니다. 버튼을 원 주위에서 동적으로 정렬하는 데 어려움을 겪고 있습니다.동그라미 주위에 동적으로 버튼 배열하기
무엇을 달성하려고하는 것은 첨부 된 이미지처럼 보이는보기로 n 개의 버튼을 추가 (N 작성시에 변경할 수 있습니다)입니다 :
나는 absoluteLayout을 사용하지 않도록하고 싶습니다 (하지만 그 문제를 해결할 수있는 유일한 방법이라면 제안 할 수 있습니다). 내가 본 내가 무엇을 사용자 지정보기 내부에서 만에서이 코드를 사용하는 방법에 대한 생각
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?
}
: 는 이미 버튼에 대한 X/Y 위치에 대한 계산 (지금은 버튼 크기를 무시)를 내놓았다 보기는 ViewView에서 하위 클래스로 만들어야 addView 메소드를 가질 수 있으며, 다시 absoluteLayout 만 x, y 위치 설정을 허용하는 것처럼 보입니다 ...이 기능을 구현하는 방법은 손실됩니다.
나중에 해당 뷰에 애니메이션을 추가 할 수도 있습니다. 가능한 경우 SurfaceView를 사용하는 것이 좋지만 필수 사항은 아닙니다.
나는이 접근법에 또 다른 문제를 겪고있다. onDraw()는 버튼을 설정할 때 원하는 것이 아닌 반복적으로 호출됩니다. 아마도 if 및 boolean으로 초기화를 둘러 쌀 수 있지만 원하는 동작을 구현할 수있는 방법이 있습니까? (예 : 버튼을 사용하여 내 맞춤보기를 초기화하고 onDraw를 사용하지 않고 가운데에서 원으로 배치) –