몇 가지 관련 질문을 찾았습니다.onDraw() 전에 캔버스 크기를 얻는 방법
내 게임에서는 객체를 만듭니다. 객체 (클래스)는 화면상의 임의 위치를 취합니다 : public float X=Rnd.nextInt(400);
. 400 개의 최대 값을 랜덤 화기로 바꾸고 싶습니다.
은이 규칙에 따라, X를 어딘가에 객체를 넣어해야합니다
캔버스 + 10 < X < 바로 캔버스의 여백의왼쪽 여백 - 20
하지만 ..이 된 onDraw()는하지 않았습니다 아직 불려왔다. 그래서 canvas에서 getWidth()를 수행 할 수 없습니다.
어떻게 해결해야합니까? 즉, onDraw가 호출되기 전에 캔버스의 크기를 확인하는 방법은 무엇입니까? (아니면 화면 크기를 사용해야합니까? 그렇다면 어떻게해야합니까?)
Thnx!
Thanks ! 'display = ((WindowManager) getContext(). getSystemService (Context.WINDOW_SERVICE)). getDefaultDisplay();' 해결되었습니다. SurfaceView를 확장하는 클래스에서 사용했습니다. 다음과 같이 : width = display.getWidth();'공개적으로 접근 가능한 int에 너비를 넣을 수 있습니다. –
ByteMe, 귀하의 답변 덕분에 https://play.google.com/store/apps/details?id=happyworx.nl.Applez을 작성할 수있었습니다. 고맙습니다! –
Activity는 Context의 인스턴스이므로 getContext() 또는 getApplicationContext()를 사용하지 않는 것이 좋습니다. Context context = this; (이것이 활동 인 곳) – barwnikk