mojo's Blog
Java 코드로 화면 만들기 본문
지금까지 작성한 프로젝트는 기본적으로 XML 에서 code를 작성하여 화면을 구성하고 Java 파일의 setContentView() 메소드를 이용하여 화면을 출력하였다.
setContentView() 메소드는 XML 파일을 화면에 출력하는 기능을 한다.
R.layout.activity_main 은 바로 activity_main_xml 파일을 의미하므로 activity_main.xml 파일이 화면에 출력되는 것이다. (가장 일반적인 안드로이드 프로젝트 구성)
Java Code 만으로 화면을 구성하는 방법을 알아보도록 한다.
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(getApplicationContext(),"코드로 생성한 버튼입니다.", Toast.LENGTH_SHORT).show();
}
});
}
}
연습 ) 다음 화면을 XML 파일 없이 Java Code 로 만들어보기
XML Code
public class MainActivity extends AppCompatActivity {
EditText edit;
TextView text;
@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);
setContentView(baseLayout, params);
edit = new EditText(this);
edit.setHint("여기를 입력하세요.");
baseLayout.addView(edit);
Button btn = new Button(this);
btn.setText("버튼입니다");
btn.setBackgroundColor(Color.YELLOW);
baseLayout.addView(btn);
text = new TextView(this);
text.setTextColor(Color.MAGENTA);
baseLayout.addView(text);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String s = edit.getText().toString();
text.setText(s);
}
});
}
}
'Android' 카테고리의 다른 글
안드로이드 프로그래밍 제 5장 연습문제 (4, 5, 6번) (0) | 2021.08.28 |
---|---|
기타 레이아웃 (0) | 2021.08.28 |
Layout 종류 및 LinearLayout (0) | 2021.08.28 |
안드로이드 프로그래밍 제 4장 연습문제 (7, 8, 9번) (0) | 2021.08.26 |
기본 위젯 활용하기 (0) | 2021.08.26 |
Comments