모바일/안드로이드앱
Android Studio / 안드로이드 앱만들기 공부4 / 자바 코드에서 화면구성 하기
yy_dd2
2020. 7. 30. 23:27
반응형
개인 메모 공부용으로 작성해서 틀린부분이 있을 수 있으니 따라하거나 하는 짓은 하지말자....
책 구매해서 보세요!
1. 패키지 안에 있는 MainActivity.java를 복사해서 새 파일을 만든다.
2. 자바코드로만 버튼 리니어레이아웃(LinearLayout) 같은 레이아웃 설정과 속성 파라미터 값을 생성하고 추가한다
package com.togapp.samplelinearlayout;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.ButtonBarLayout;
// xml 에서 설정되는 버튼이 아니라 java를 이용해서 추가하는 방법
// xml로 연결되는 부분을 변경해야 확인이 가능함 (app / src / main / AndroidMainfest.xml)
public class LayoutCodeActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 객체 불러와서 리니어 레이아웃 만들고 방향을 설정하는 과정
LinearLayout mainLayout = new LinearLayout(this);
mainLayout.setOrientation(LinearLayout.VERTICAL); // 세로방향으로 나열
//mainLayout.setOrientation(LinearLayout.HORIZONTAL); // 가로방향으로 나열
// 레이아웃패럼에 두개의 속성값 추가 (레이아웃 안에 추가될 뷰들에 설정할 파라미터 생성)
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT );
// LayoutParams 패럼이라는 단어로 사용된걸 봐서 자바의 Param 속성과 비슷한거 같다
// LayoutParams 을 객체로 불러와서 그안에 MATCH_PARENT, WRAP_CONTENT 속성 추가
// 버튼에 파라미터값 설정하고 레이아웃에 추가
Button button1 = new Button(this);
button1.setText("Button1");
button1.setLayoutParams(params);
mainLayout.addView(button1);
setContentView(mainLayout); // 새로만든 레이아웃 화면에 적용
//setContentView(R.layout.activity_main); // 새로만든 레이아웃 화면에 적용
}
}
3. 화면과 연동을 해야하는데 연동하는 파일은 project > src > main 안에 AndroidMainfest.xml 파일이다
처음에 생성되는 MainActivity.java와 AndroidMainfest.xml 파일은 연결되어있다. 새로만든 파일과 연결하려면
AndroidMainfest.xml 파일을 열자
여기서 <activity android:name=".MainActivity">
이부분을 <activity android:name=".LayoutCodeActivity">
<activity android:name=".LayoutCodeActivity">이렇게 1번의 파일명 LayoutCodeActivity으로 변경하고
실행하면 LayoutCodeActivity 으로 실행됨
반응형