본문 바로가기
JAVA/Android

[Android] 명화의 목록 만들기

by 개폰지밥 2021. 9. 16.
반응형

| 명화의 목록

여러 개의 명화 이미지 목록을 만들어 보자. 목록의 각 아이템은 왼쪽에 이미지를 배치하고 오른쪽에는 위에 명화 제목, 그 아래에는 작가를 배치하자. 어플리케이션 이름은 Image2 어플리케이션 라벨과 액티비티 라벨은 명화목록으로 하는 프로젝트를 개발해 본다. 다음은 이미지 목록을 출력하면서 각 아이템에 둥근 모서리의 사각형 모양이 나오도록 shape drawable resource들을 적용한 예이다.

 

| String.xml

<resources>
    <!--app_name의 데이터를 '명화 목록'으로 수정-->
    <string name="app_name">명화목록</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <!--명화 1의 제목-->
    <string name="title01">Starry Night</string>
    <!--명화 1의 작가-->
    <string name="artist01">고흐</string>
    <!--명화 2의 제목-->
    <string name="title02">Still life with kettle</string>
    <!--명화 2의 작가-->
    <string name="artist02">폴 세잔</string>

</resources>

 

| Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".MainActivity"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:background="@drawable/shape_list">
    <ImageView
        android:layout_width="8dp"
        android:layout_height="wrap_content"
        android:src="@drawable/starry_night"
        android:paddingRight="5sp"
        android:layout_weight="1"
        android:adjustViewBounds="true" />
    <LinearLayout
        android:layout_width="8dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:orientation="vertical">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/title01"
            android:textStyle="bold" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/artist01"
            android:textStyle="bold"/>
    </LinearLayout>
</LinearLayout>

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
        android:background="@drawable/shape_list">

    <ImageView
    android:layout_width="8dp"
    android:layout_height="wrap_content"
    android:src="@drawable/still_life_with_kettle"
    android:paddingRight="5sp"
    android:layout_weight="1"
    android:adjustViewBounds="true" />
    <LinearLayout
    android:layout_width="8dp"
    android:layout_height="wrap_content"
    android:layout_weight="2"
    android:orientation="vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/title02"
        android:textStyle="bold" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/artist02" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

 

| Dimens.xml

<resources>
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
</resources>

 

[관련 게시글]

[Android] 안드로이드 스튜디오 설치 : https://seul96.tistory.com/58
[Android] 바람개비 회전 애니메이션 : https://seul96.tistory.com/62
[Android] 화면터치 시 이미지 따라오기 : https://seul96.tistory.com/310
[Android] 그림 글 배치 : https://seul96.tistory.com/63
[Android] 글의 목록 만들기 : https://seul96.tistory.com/311
[Android] manifests, java, res / 레이아웃 유형 : https://seul96.tistory.com/64
[Android] toast 배경색 변경 방법 + 색상표 : https://seul96.tistory.com/65
[Android] 계산기 구현 : https://seul96.tistory.com/66
[Android] 위치 배열 gravity linear layout relative layout 사용 : https://seul96.tistory.com/67
[Android] 액티비티 전환 intent 예시 + 4대 컴포넌트 : https://seul96.tistory.com/68
[Android] 이벤트 처리와 액티비티간 이동 : https://seul96.tistory.com/70
[Android] 리스트뷰 : https://seul96.tistory.com/79
[Android] 커스텀 리스트뷰 : https://seul96.tistory.com/80
[Android] 안드로이드 공공데이터(API) 사용하는 방법 : https://seul96.tistory.com/85
[Android] Padding/layout_margin, visibility 속성 : https://seul96.tistory.com/312
반응형

댓글