본문 바로가기
프로젝트

[안드로이드 스튜디오 프로젝트] 자기소개앱.xml

by sojung118 2024. 9. 4.

 

지금까지 강의를 들으면서 안드로이드 스튜디오로 간단히 만들 수 있는게 뭐가 있을까 생각하다가

이전 안드로이드 스튜디오를 학교에서 들을때도 도전했던 자기소개 앱을 만들어보기로했다!

 

 

 

 

 

참고로 이게 내 2학년때 안드로이드 스튜디오로 만든 자기소개 앱...

이때도 아마 intent 몇개 구현하고 버튼 배치 조금하고 말았던 것 같다!

심지어 버튼 배치도 내 맘처럼 안되고 되게 이상하게 했던 기억이..

그리고 이땐 다른 여러 강의도 듣느라 배치가 어떤 구조로 되는건지도 쉽게 이해를 못했다...ㅜㅜ

지금도 비록 LinearLayout만 사용한 앱이지만, 어떻게 배치를 했을때 내가 원하는 모양이 나오는지는 알게돼서

그것만으로도 충분히 예쁜 UI를 만들 수 있을거라 생각했다 :)

 

 

 


 

 

 

머릿속으로 간단하게 생각하고 만들어 본 자기소개앱의 기본 배치이다.

물론 내가 다 만들고 난 다음의 모습이긴하지만, 원하던 배치대로 구성을 해서 만족했다!

 

 

 

[ activity_main.xml ] 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout  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:id="@+id/main"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#F2EDED"
    tools:context=".MainActivity">

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

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

            <ImageView
                android:id="@+id/iv_me"
                android:src="@mipmap/sojung"
                android:layout_margin="8dp"
                android:layout_width="180dp"
                android:layout_height="180dp"/>

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


                <TextView
                    android:fontFamily="@font/font"
                    android:text="이소정"
                    android:textColor="#3A3939"
                    android:textStyle="bold"
                    android:textSize="35sp"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>

                <TextView
                    android:fontFamily="@font/font"
                    android:layout_marginTop="10dp"
                    android:text="부경대 / 컴퓨터공학전공"
                    android:textSize="20sp"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>


                <TextView
                    android:fontFamily="@font/font"
                    android:layout_marginTop="10dp"
                    android:text="PKNU_GUTTER 33th"
                    android:textSize="20sp"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>


            </LinearLayout>


        </LinearLayout>

        <TextView
            android:background="#C1BEBE"
            android:layout_width="match_parent"
            android:layout_height="3dp"/>

        <TextView
            android:fontFamily="@font/font"
            android:layout_marginTop="13dp"
            android:layout_marginLeft="20dp"
            android:textSize="25sp"
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="키워드 소개"/>


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_margin="7dp">


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


                <Button
                    android:fontFamily="@font/font"
                    android:id="@+id/btn_language"
                    android:layout_margin="2dp"
                    android:backgroundTint="#B39374"
                    android:textSize="19sp"
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"
                    android:text="프로그래밍"/>

                <Button
                    android:fontFamily="@font/font"
                    android:id="@+id/btn_site"
                    android:layout_margin="2dp"
                    android:backgroundTint="#D3B79C"
                    android:textSize="19sp"
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"
                    android:text="사이트"/>

                <Button
                    android:fontFamily="@font/font"
                    android:id="@+id/btn_hobby"
                    android:layout_margin="2dp"
                    android:backgroundTint="#B39374"
                    android:textSize="19sp"
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"

                    android:text="취미"/>

            </LinearLayout>

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


                <Button
                    android:fontFamily="@font/font"
                    android:id="@+id/btn_mbti"
                    android:layout_margin="2dp"
                    android:backgroundTint="#D3B79C"
                    android:textSize="19sp"
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"
                    android:text="ISFP"/>

                <Button
                    android:fontFamily="@font/font"
                    android:id="@+id/btn_bowling"
                    android:layout_margin="2dp"
                    android:backgroundTint="#B39374"
                    android:textSize="19sp"
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"

                    android:text="볼링"/>

                <Button
                    android:fontFamily="@font/font"
                    android:id="@+id/btn_study"
                    android:layout_margin="2dp"
                    android:backgroundTint="#D3B79C"
                    android:textSize="19sp"
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"

                    android:text="공부"/>

            </LinearLayout>


        </LinearLayout>

        <TextView
            android:background="#C1BEBE"
            android:layout_width="match_parent"
            android:layout_height="3dp"/>

        <TextView
            android:fontFamily="@font/font"
            android:layout_marginTop="13dp"
            android:layout_marginLeft="20dp"
            android:textSize="25sp"
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="자기 소개"/>

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

            <TextView
                android:fontFamily="@font/font"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="15dp"
                android:textSize="18sp"
                android:text="안녕하세요. 개발을 공부하고 내다보는 이소정입니다 :) \n이것은 안드로이드 스튜디오를 활용한 소개 어플입니다.\n어플을 둘러보시면서 더 많은 정보를 얻어가세요!"/>

        </LinearLayout>


        <TextView
            android:background="#C1BEBE"
            android:layout_width="match_parent"
            android:layout_height="3dp"/>

        <TextView
            android:fontFamily="@font/font"
            android:layout_marginTop="13dp"
            android:layout_marginLeft="20dp"
            android:textSize="25sp"
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="참고 URL"/>



        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="10dp">

            <TextView
                android:fontFamily="@font/font"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="0dp"
                android:textSize="18sp"
                android:text="https://sojung118.tistory.com/"/>
            <TextView
                android:fontFamily="@font/font"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="0dp"
                android:textSize="18sp"
                android:text="https://github.com/SojungLeeee"/>


        </LinearLayout>

    </LinearLayout>
    
</LinearLayout>

 

 

크게 어려운것도 없고, 지금 이 xml에서는 id도 제대로 다 부여해주지 않았다.

아직은 xml만 만들어서 레이아웃 배치만 본 상태라 앞으로 java 파일을 건드릴때 더 추가하는걸로!

 

내가 생각하는 여기에서 구현하고 싶은 기능은 

  • 키워드 소개 버튼을 눌렀을때 intent로 다른 창 넘어가기
  • 키워드 소개 각 부분 xml 만들기
  • 참고 URL에서 url 눌렀을때 해당 사이트로 넘어가기
  • drawerLayout 만들어서 키워드 소개 버튼 넣고 클릭 시 intent로 넘어가기

 

일단은 이만큼 생각했는데...

충분히 지금까지 독학한걸로 가능하지않을까 생각 ㅎㅎ >,<

막힘없이 쭉쭉 만들어서 하나의 앱을 완성시켰으면 좋겠당...

 

 


 

 

[ 실행 화면 ]