[Instagram 클론 코딩] 로딩 페이지 만들기

mi-fasol·2023년 1월 17일
0

Instagram

목록 보기
1/4

첫 클론코딩 주제로 잡아본 인스타그램...
생각보다 필요한 아이콘이 많아서 애먹었다.

맨 처음으로 만들려고 한 것은 역시 시작 화면인 로딩 페이지.


실제 구현 화면인데, 필요한 것만 넣고 깔끔하게 진행했다.

xml 코드는 딱 로고를 띄울 ImageView 두 개만 필요하다.
요소가 적은만큼 xml 코드 역시 간단하다.

// acitivity_main.xml

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

    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_gravity="center"
        android:src="@drawable/main_logo" />

    <ImageView
        android:id="@+id/text_logo"
        android:layout_width="110dp"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="15dp"
        android:src="@drawable/instagram" />
    
</RelativeLayout>

RelativeLayout을 사용해서 작성했고 첫 시작으로 나올 페이지라서 따로 만들기보단 MainAcitivity에 바로 작성해줬다.

이 글을 작성하는 시점에는 여러 페이지들이 추가돼서 MainActivity.kt에 다른 기능이 있는데, 이 화면만 완성되고 났을 때는 따로 메인 액티비티를 건들 게 없다.

그래서 로딩 페이지의 느낌이라도 주고자 HomeActivity.kt를 하나 생성해서 TextView를 하나 배치하고, 메인 액티비티에서 3초가 지났을 때 홈 액티비티로 넘어가게 작성했었다.

// MainActivity.kt

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        Handler().postDelayed({
            val intent = Intent(this, HomeActivity::class.java)
            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
            startActivity(intent)
            finish()
        }, 3000)
    }
}

HomeActivity는 아직 딱히 작성할 내용이 없어서, 생성된 그대로 두면 된다.

xml을 사용해서 코딩을 한지 너무 오래돼서 레이아웃 배치를 어떻게 했었는지 기억이 안 났는데, 역시 구글링이 최고다.

다음에는 홈페이지 구현에 대해 작성해보겠다.

profile
정위블

0개의 댓글