간단하게 Button 3개와 FrameLayout을 이용하여 Tab을 만들어 보았습니다.

가장 위에 TAB1, TAB2, TAB3 버튼이 있고 각 버튼을 클릭했을 때 클릭한 버튼의 번호와 일치하는 Content 화면을 앞으로 가져옵니다.

// TestActivity
package com.example.practicetab;

import androidx.appcompat.app.AppCompatActivity;

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

public class MainActivity extends AppCompatActivity {

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

        findViewById(R.id.tab1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                findViewById(R.id.content1).bringToFront();
            }
        });
        findViewById(R.id.tab2).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                findViewById(R.id.content2).bringToFront();
            }
        });
        findViewById(R.id.tab3).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                findViewById(R.id.content3).bringToFront();
            }
        });
    }
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <LinearLayout android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
        <Button android:id="@+id/tab1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Tab1"
            />
        <Button android:id="@+id/tab2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Tab2"
            />
        <Button android:id="@+id/tab3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Tab3"
            />
    </LinearLayout>
    <FrameLayout android:id="@+id/content_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/tab_layout">
        <TextView android:id="@+id/content3"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:background="#0000ff"
            android:textSize="50sp"
            android:textColor="#ffffff"
            android:text="Content3"
            />
        <TextView android:id="@+id/content2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:background="#00ff00"
            android:textSize="50sp"
            android:textColor="#ffffff"
            android:text="Content2"
            />
        <TextView android:id="@+id/content1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:background="#ff0000"
            android:textSize="50sp"
            android:textColor="#ffffff"
            android:text="Content1"
            />
    </FrameLayout>
</RelativeLayout>

정렬 관련 속성값을 조금 조절하면 세로텝으로 변경도 가능합니다.

'개발 > android' 카테고리의 다른 글

Hello World  (0) 2020.04.03

회사 사정상 갑작스럽게 안드로이드 를 하게됐습니다.

자바도 해본적이 없는데 안드로이드라니... 당황스럽지만 앞으론 안드로이드 공부를 해야합니다.

 

먼저 개발 환경을 찾아보니 대부분 안드로이드 스튜디오를 사용하는 것 같습니다.

다행히 설치는 공식 홈페이지에서 친절하게도 한글로 가이드되고 있습니다.

* 사이트 : https://developer.android.com/studio/install?hl=ko

 

Android 스튜디오 설치  |  Android 개발자  |  Android Developers

Windows, macOS 또는 Linux에서 Android 스튜디오를 설정 및 설치합니다.

developer.android.com

새로 시작하는 마음으로 빈 프로젝트를 만들었습니다.

아래에는 빈 프로젝트 생성 후 빌드하면서 겪었던 두 가지 문제에 대해서 적었습니다.

 

 

1. No target device found.

 

가상 디바이스를 설정하지 않아 발생한 에러입니다. 자세히 살펴보면 우상단에 No Device 라고 적힌 부분이 보입니다.

    "Open AVD Manager - Create Virtual Device - New Hardware Profile"

 

가지고 있는 핸드폰 공기계 사양과 비슷하게 하드웨어 프로파일을 만들었습니다.

이제 생성한 디바이스가 보입니다.

 

2. Error while waiting for device: Could not start AVD

참고

 

참고 링크 확인시 아래 내용을 확인할 수 있습니다.

> 가상화 확장 프로그램 요구사항

개발 환경 요구사항 외에도 컴퓨터 프로세서는 다음 가상화 확장 프로그램 기술 중 하나를 지원해야 합니다.

- Intel 가상화 기술(VT, VT-x, vmx) 확장 프로그램
- AMD 가상화(AMD-V, SVM) 확장 프로그램

순간 내 컴퓨터가 가상화 확장프로그램을 지원하지 않는 컴퓨터면 어떻하지 하는 걱정이 들었지만 다행히 최신 프로세서는 대부분 가상화 확장 프로그램을 지원한다고 합니다.

 

번거롭지만 컴퓨터를 재부팅하고 BIOS 메뉴에 들어가야합니다.

저의 경우 AMD사의 CPU를 사용합니다. 아래 경로에서 SVM을 켤 수 있었습니다.

    "오버 클럭 셋팅 메뉴" - "그외 CPU 셋팅" - "SVM Mode"

 

그리고, Intel의 "HAXM"대신 "Hyper-V"를 사용 합니다. 경로는

    "제어판" - "프로그램 및 기능" - "Window 기능 켜기/끄기" - "Hyper-V"

입니다.

이렇게 설정을 모두 마치면

빈프로젝트 실행시

"Hello World!"

문구를 확인할 수 있습니다. ㅎㅎ

'개발 > android' 카테고리의 다른 글

가로, 세로 Tab 만들기 예제  (0) 2020.06.04

+ Recent posts