2011-10-17 4 views
0

Android 용 게임을 만들고 있는데 다른 기기에서 레이아웃을 동일하게 유지하는 방법을 알지 못합니다. 나는 그것을 마치 은하계의 작은 전화기에서 은하계까지 똑같이 보이기를 원한다. 여기 내가 지금하고있는 일이 있습니다. 생성자에서 치수를 얻으려고했지만 오류가 발생하여 onDraw 클래스에 자체 미니 생성자를 만들었습니다.다른 기기에서 UI를 동일하게 설정하십시오.

protected void onDraw(Canvas canvas) { 
if (startup){//constructor part 2 
     startup=false; 
     height=canvas.getHeight(); 
     width=canvas.getWidth(); 
     xinc=width/(7/2); 
     yinc=height/5; 
     radius=width/6; 

등등. 이것을하는 것이 최선의 방법입니까? 이 일을하는 또 다른 좋은 방법이 있어야한다고 생각합니다. 또한, 모든 안드로이드 장치가 동일한 가로 세로 비율이라고 생각합니까? 미리 감사드립니다. 로이드 UI에서

-Derek

답변

0

일반적 XML을 사용하여 작성된 레이아웃 폴더에 유지된다. 다른 리소스 폴더는 안드로이드가 다른 조건에 따라 그들을 참조 할 수 있도록 다른 이름을 부여 할 수 있습니다.

link은 안드로이드 설명서에서 가져온 것으로 resoucrce 폴더에서 사용할 수있는 다른 이름을 설명합니다.

휴대 전화마다 다른 크기의 이미지가 있다고 가정 해 보겠습니다. 당신은

당김 - LDPI에 같은 이름을 가진 이미지를 넣을 수 있습니다/

당김 - MDPI/

당김-hdpi에 이미지 뷰에 대한 그래서/

명령을 사용

imageview.setImageResource(R.drawable.icon); 

Android는 휴대 전화의 밀도를 확인하고 해당 폴더에서 아이콘 이미지를 자동으로 가져옵니다. 레이아웃과 'res'의 다른 하위 폴더에서도 같은 방법을 사용할 수 있습니다.

질문에 따라 UI를 수행 할보기의 'onDraw'메소드를 재정의하는 것으로 나타났습니다. 그렇다면 AFAIK는 사용 가능한 공간을 측정하고 프로그래밍 방식으로 UI를 만들고 측정해야합니다.

관련 문제