반응형

1. 시험환경

- Android Studio v4.2

- JAVA

 

2. 목적

- TableLayout과 TableRow를 이용하여 Widget을 배치하는 방법을 학습한다.

 

3. 적용

① TableLayout과 TableRow를 이용해서 컴포넌트 배치한다.

Comopnent Tree 구조

 

② 각 TableRow의 하위 Component를 배치한다.

    - android:layout_span 속성 : HTML Table의 colspan과 비슷한 속성

 

 

 

4. 결과

- TableLayout 결과 화면

TableLayout 결과

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형
반응형

1. 시험환경

- Android Studio v4.2

- JAVA

 

2. 목적

- FrameLayout에서 TextView 전환하는 방법을 알아보자.

 

3. 적용

① Layout 컴포넌트 (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="click"
        android:onClick="onBtnClicked" />


        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/txt03"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#8866ff"
                android:text="텍스트"
                android:textSize="60sp"
                android:visibility="invisible" />

            <TextView
                android:id="@+id/txt02"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#ff8866"
                android:text="텍스트"
                android:textSize="40sp"
                android:visibility="invisible" />

            <TextView
                android:id="@+id/txt01"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#33af55"
                android:text="텍스트"
                android:textSize="20sp"
                android:visibility="invisible" />
        </FrameLayout>
</LinearLayout>

 

 

② 버튼을 클릭하면 TextView가 전환하는 동작 코드 구현 (MainActivity.java)

package com.study.studylayout;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {


    int idx 0;
    TextView txtView1;
    TextView txtView2;
    TextView txtView3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        txtView1 = findViewById(R.id.txt01);
        txtView2 = findViewById(R.id.txt02);
        txtView3 = findViewById(R.id.txt03);
    }


    public void onBtnClicked(View v) {
        changeView();
    }


    private void changeView() {
        if (idx == 0)
        {
            txtView1.setVisibility(View.VISIBLE);
            txtView2.setVisibility(View.INVISIBLE);
            txtView3.setVisibility(View.INVISIBLE);
            idx 1;
        }

        else if (idx == 1)
        {
            txtView1.setVisibility(View.INVISIBLE);
            txtView2.setVisibility(View.VISIBLE);
            txtView3.setVisibility(View.INVISIBLE);
            idx 2;
        }

        else if (idx == 2)
        {
            txtView1.setVisibility(View.INVISIBLE);
            txtView2.setVisibility(View.INVISIBLE);
            txtView3.setVisibility(View.VISIBLE);
            idx 0;
        }

    }
}

 

4. 결과

- "CLICK" 버튼 클릭시 FrameLayout에 배치된 TextView가 전환되는 것을 확인한다.

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형
반응형

1. 시험환경

- Android Studio v4.2

- JAVA

 

2. 목적

- FrameLayout과 LinearLayout의 차이점에 대하여 학습한다.

- FrameLayout과 LinearLayout에 배치된 Widget의 배열에 대하여 확인한다.

 

3. 적용

 Layout 컴포넌트 배치

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/txt01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#33af55"
        android:text="텍스트"
        android:textSize="60sp" />

    <TextView
        android:id="@+id/txt02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#ff8866"
        android:text="텍스트"
        android:textSize="40sp" />

    <TextView
        android:id="@+id/txt03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#8866ff"
        android:text="텍스트"
        android:textSize="20sp" />

</LinearLayout>

 

LinearLayout과 FrameLayout 간에 Layout을 전환하여 배치된 Component를 확인한다.

Convert view

 

4. 결과

① LinearLayout인 경우, 컴포넌트 배치 결과

    - 컴포넌트들이 중첩되지 않고, 수평(기본값)으로 확장되어 배치된다.

LinearLayout에서의 컴포넌트 배치

 

FrameLayout인 경우, 컴포넌트 배치 결과

    - 컴포넌트들이 중첩되어 같은 자리에서 배치된다.

    - 겹쳐준 컴포넌트 중 가장 마지막으로 추가된 컴포넌트가 보여진다.

FrameLayout에서의 컴포넌트 배치

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형
반응형

1. 시험환경

- Android Studio v4.2

 

2. 목적

- Android Studio에서 ScrollView 및 HorizontalScrollView 사용법을 학습한다.

- 수직방향 스크롤뷰, 수평방향 스크롤뷰, 수직 및 수평방향 스크롤뷰를 설정할 수 있다.

 

3. 적용

① ScrollView 주의사항

    - ScrollView 하위에 보통 하나의 자식만을 사용한다. 보통, LinearLayout을 사용한다.

    - 그리고, LinearLayout에 여러 위젯이나 Component들을 묶어서 사용한다.

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="250dp"
                android:background="#66DACF"
                android:gravity="center"
                android:text="textview 01"
                android:textSize="40sp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="250dp"
                android:background="#33FAF0"
                android:gravity="center"
                android:text="textview 02"
                android:textSize="40sp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="250dp"
                android:background="#0044BB"
                android:text="textview 03"
                android:textSize="40sp"
                android:gravity="center"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="250dp"
                android:background="#036699"
                android:text="textview 04"
                android:textSize="40sp"
                android:gravity="center"/>
    </LinearLayout>
</ScrollView>

 

② HorizontalScrollView 설정

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="250dp"
            android:background="#66DACF"
            android:gravity="center"
            android:text="textview 01"
            android:textSize="40sp" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="250dp"
            android:background="#33FAF0"
            android:gravity="center"
            android:text="textview 02"
            android:textSize="40sp" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="250dp"
            android:background="#0044BB"
            android:text="textview 03"
            android:textSize="40sp"
            android:gravity="center"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="250dp"
            android:background="#036699"
            android:text="textview 04"
            android:textSize="40sp"
            android:gravity="center"/>
    </LinearLayout>
</HorizontalScrollView>

 

③ HorizontalScrollView와 ScrollView 혼합 설정

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <TextView
                android:layout_width="400dp"
                android:layout_height="250dp"
                android:background="#66DACF"
                android:gravity="center"
                android:text="textview 01"
                android:textSize="40sp" />

            <TextView
                android:layout_width="500dp"
                android:layout_height="300dp"
                android:background="#33FAF0"
                android:gravity="center"
                android:text="textview 02"
                android:textSize="40sp" />

            <TextView
                android:layout_width="200dp"
                android:layout_height="250dp"
                android:background="#0044BB"
                android:gravity="center"
                android:text="textview 03"
                android:textSize="40sp" />

            <TextView
                android:layout_width="100dp"
                android:layout_height="250dp"
                android:background="#036699"
                android:gravity="center"
                android:text="textview 04"
                android:textSize="40sp" />
        </LinearLayout>
    </ScrollView>
</HorizontalScrollView>

 

4. 결과

수직 스크롤뷰
수평 스크롤뷰
수직, 수평 혼합 스크롤뷰
수직 스크롤뷰 수평 스크롤뷰 수직-수평 혼합 스크롤뷰

 

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형
반응형

1. 시험환경

- Android Studio v4.2

 

2. 목적

- Android Studio에서 AVD(Android Virtual Device)를 생성하기 위해 설정 절차를 학습한다.

- 가상 디바이스를 이용하여 작성한 코드를 시험할 수 있다.

 

3. 적용

① Android Studio 우측 상단에 AVD Manager 아이콘을 클릭한다.

AVD Manager 클릭


② Create Virtual Device 버튼을 클릭한다.

Your Virtual Devices 화면


③ Device의 Category와 종류를 선택한다.

Device 선택

 

④ Device의 운영체제를 선택한다.

디바이스 운영체제 선택

 

운영체제 설치시간이 꽤 걸린다.

 

⑤ 디바이스의 이름을 입력한다.

디바이스 이름 입력

 

⑥ 생성된 디바이스를 실행한다.

디바이스 실행

 

⑦ 가상 디바이스가 실행되어, 작성된 코드를 여기에서 테스트할 수 있다.

가상 디바이스 실행 화면

 

⑧ HelloWorld 프로젝트를 Run 해보자.

프로젝트 실행

 

4. 결과

- 프로젝트 실행 결과를 가상 디바이스에서 바로 확인할 수 있다.

프로젝트 실행 결과

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형
반응형

1. 시험환경

- Android Studio v4.2

 

2. 목적

- Android Studio에서 신규 프로젝트를 생성한다.

- Android Studio 기본 조작법을 학습한다.

 

3. 적용

① Android Studio 설치 후 프로그램을 실행한다.

    - Create New Poject 메뉴를 클릭한다.

신규 프로젝트 생성

 

② 템플릿 중 하나를 선택한다.

    - Empty Activity를 선택하였다.

Empty Activity 템플릿 선택

 

③ 프로젝트 이름을 입력한다.

    - 첫글자는 대문자를 입력한다.

프로젝트명 입력

 

4. 결과

MainActivity.java는 프로젝트 코드의 시작점이다.

코드 시작점

 

activity_main.xml은 App의 디자인을 구현한다.

    - Design : Layout view에 Design만 표시

    - BluePrint : Layout view에 Blueprint만 표시

    - Design and BluePrint : Layout view에 Design과 Blueprint 함께 표시

App 디자인 뷰

 

    - Code : 코드 창만 표시

    - Split : 코드와 디자인 창 함께 표시

    - Design : 디자인 창만 표시

디자인 창 보기 설정

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형

+ Recent posts