1. Main Activity의 Layout을 LinearLayout으로 변경, orientation은 Vertical로 변경

2. 다음과 같은 구조로 컨트롤 추가

 * LinearLayout(vertical)

     > LinearLayout(horizontal)

         > Button(id:btnView1, layout_width:0dp, layout_marginLeft:10dp, layout_marginRight:5dp, layout_weight:1, text:1번화면)

         > Button(id:btnView2, layout_width:0dp, layout_marginLeft: 5dp, layout_marginRight:5dp, layout_weight:1, text:2번화면)

         > Button(id:btnView1, layout_width:0dp, layout_marginLeft: 5dp, layout_marginRight:10dp, layout_weight:1, text:3번화면)

     > LinearLayout(id : container)

3. 좌측 프로젝트 창에서 app/res/layout 메뉴에서 마우스 우클릭한 뒤 나타나는 메뉴에서 New > Activity > Empty Activity 선택 후 activity를 3개 생성한다. (sub1.xml, sub2.xml, sub3.xml)

 

4. 각 Activity의 Layout을 LinearLayout(vertical)로 변경 후 각 화면에 TextView 하나씩 추가 한 뒤 화면 번호 입력

5. 다음과 같이 하면 View가 계속 바뀔줄 알았는데, 한번만 바뀌고 마네..-_-

public class MainActivity extends AppCompatActivity {

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

        Button btn = findViewById(R.id.btnView1);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ChangeView(0);
            }
        });

        btn = findViewById(R.id.btnView2);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ChangeView(1);
            }
        });

        btn = findViewById(R.id.btnView3);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ChangeView(2);
            }
        });

        container = findViewById(R.id.container);
    }

    public void ChangeView(int index)
    {
        LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        container.removeAllViews();
        
        switch(index)
        {
            case 0:
                inflater.inflate(R.layout.sub1, container, true);
                //inflater.inflate(null, container, true);
                break;
            case 1:
                inflater.inflate(R.layout.sub2, container, true);
                //inflater.inflate(null, container, true);
                break;
            case 2:
                inflater.inflate(R.layout.sub3, container, true);
                //inflater.inflate(null, container, true);
                break;
        }


    }
}

 

'앱개발' 카테고리의 다른 글

Fragment를 이용한 sub화면 전환  (0) 2021.05.09
Fragment  (0) 2021.05.05
[안드로이드] 화면 회전 2  (0) 2021.04.30
[안드로이드] 버튼 상태 drawable  (0) 2021.04.26
[안드로이드] 텍스트  (0) 2021.04.24

+ Recent posts