복습

안드로이드 스튜디오 - XML 없이 화면 코딩하기 본문

Android

안드로이드 스튜디오 - XML 없이 화면 코딩하기

ykm1256 2020. 7. 2. 14:29

XML 없이 화면구현하기

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);

        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.MATCH_PARENT);

        LinearLayout baseLayout = new LinearLayout(this);
        baseLayout.setOrientation(LinearLayout.VERTICAL);
        baseLayout.setBackgroundColor(Color.rgb(0,255,0));
        setContentView(baseLayout,params);

        Button btn = new Button(this);
        btn.setText("버튼입니다");
        btn.setBackgroundColor(Color.MAGENTA);
        baseLayout.addView(btn);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.this,"코드로 생성한 버튼입니다.",Toast.LENGTH_SHORT).show();
            }
        });
    }
  • 먼저 xml 파일을 삭제하게 되면 setContentView에서 오류가 발생하기 때문에 주석처리 해준다.
  • LinearLayout.LayoutParams 객체를 생성하고 MATCH_PARENT 값을 준다. (레이아웃의 파라미터 값) 
    (레이아웃에 필수로 설정해야하는 width,height 속성값을 설정한다.)
  • LinearLayout 객체를 생성하고 필요한 속성인 orientation과 backgroundColor를 설정하였다.
  • setContentView로 생성한 baseLayout를 설정한 파라미터 값 params를 가지고 화면에 출력할 수 있도록 한다.
  • 버튼 객체를 만들고 setOnClickListener로 버튼의 이벤트를 정의하고 addView()메서드로 버튼을 레이아웃에 추가한다.