자바코드로 UI 구현


보통의 경우에는 xml을 사용해서 UI를 구현하지만 java를 이용해서 UI를 구현해야할 경우가 생긴다.

예를 들어 버튼 수백개를 만들어야 하는데 xml로 만들면 노가다를 해야되니까 java에서 UI를 만들어서

for문에 넣어 생성시켜주면 보다 편하게 생성이 가능하다.

 

간단하게 LinearLayout을 생성하고 EditText와 Button을 나타내도록 만들었습니다.

public class MainActivity extends AppCompatActivity {

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

        LinearLayout layout = new LinearLayout(this);
        layout.setOrientation(LinearLayout.VERTICAL);

        layout.setLayoutParams(new LinearLayout.LayoutParams(
		LinearLayout.LayoutParams.FILL_PARENT, 
		LinearLayout.LayoutParams.FILL_PARENT));

	// EditText 생성
        EditText edit = new EditText(this);
        edit.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));

	// Button 생성
	Button button = new Button(this);
	button.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));

	// 레이아웃에 추가
	layout.addView(edit);
	layout.addView(button);

	setContentView(layout);


    }
}

+ setContentView(R.layout.activity_main);는 activity_main.xml을 연결시켜 보여주는 것이므로 지워줍니다.


+ Recent posts