2012-07-29 4 views
5

나는 안드로이드 게임 프로그래밍에 들어가기위한 의도로 몇몇 동료 자바를 가르치고있다. 화면에 상자를 표시 할 수있는 방법이 있습니까?이를 터치하면 색상이 변경되고 Activity (Eclipse에 있음)를 만들지 않고 추악한 XML 세계로 빠져들지 않습니다.XML없이 간단한 안드로이드 애플 리케이션

+0

왜? XML은 쉽습니다. 그 재미! – Ahmad

+1

글쎄, 나에게 쉽고 쉽다.하지만 나는 어렵지 만 끔찍하고 못생긴 (컴퓨터 정신을 가진) 비 프로그래머 몇 명을 가르치고있다. –

+3

조만간 Swing과 같이 Android를 처리하면 보이지 않는 벽돌 벽을 치기 시작할 것입니다. – Shark

답변

3

프로그래밍 안드로이드 UI를 만들기위한 예를 들어 당신이 그러나

public class MyActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     Button changeColor = new Button(this); 
     changeColor.setText("Color"); 
     changeColor.setLayoutParams(new ViewGroup.LayoutParams(
       ViewGroup.LayoutParams.WRAP_CONTENT, 
       ViewGroup.LayoutParams.WRAP_CONTENT)); 

     changeColor.setOnClickListener(new View.OnClickListener() { 
      int[] colors = {Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW}; 
      @Override 
      public void onClick(View view) { 
       final Random random = new Random(); 
       view.setBackgroundColor(colors[random.nextInt(colors.length - 1) + 1]); 
      } 
     }); 
     setContentView(changeColor); 
    } 

의 요청에 따라, 난 강력하게 당신의 레이아웃에 XML을 사용하는 것이 좋습니다. XML을 이해하면 XML을 사용하는 것이 훨씬 쉽고 빠릅니다. 따라서 here은 자습서입니다.

1

위젯을 프로그래밍 방식으로 만들고 onCreate에서 컨텐츠보기로 설정 한 레이아웃에 추가 할 수 있습니다. 이의 라인을 따라 뭔가 작동합니다 :

여기
RelativeLayout layout = new RelativeLayout(this); 
Button btnChangeColour = new Button(this); 
btnChangeColour.setText("Change Colour"); 
btnChangeColour.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     v.setBackgroundColor(...); 
    } 
}); 
layout.addView(btnChangeColour); 
setContentView(layout); 
1

당신이 말하는 것을 듣고 예 - 나는 안드로이드로 게임을 코딩하고자 할 때 XML이 지루하다는 것에 동의하는 반면 XML은 안드로이드의 필수적인 악이라고 말할 수 있습니다. 최소한 ViewStub를 XML에 넣고 나중에 코드에서 팽창 시키십시오.

제대로 서식을 지정하려면 많은 "새 LayoutParams"호출을 호출하는 데 익숙해 져야합니다.

하지만 Android에서 작동하도록하려면 클래스에서 실제로 Activity를 덮어 써야합니다.

관련 문제