상세 컨텐츠

본문 제목

[안드로이드] 카드뷰(CardView) 접었다 폈다 쉽게 하는 방법

안드로이드

by aries574 2022. 2. 6. 08:13

본문


이번 시간에는 카드뷰 접었다 폈다

쉽게 하는 방법에 대하여 알아보겠습니다.


목차

1. 실행 화면

2. 라이브러리 등록

3. 확장 화면 추가

4. 메인 화면 구성 activity_main.xml

5. 메인 코드 구현 MainActivity.java


1. 실행 화면



2. 라이브러리 등록

build.gradle(Module:프로젝트명:app)

dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.

implementation 'com.alespero:expandable-cardview:0.8'

참조 문서

https://github.com/AleSpero/ExpandableCardView

 

GitHub - AleSpero/ExpandableCardView: Simple expandable CardView for Android.

Simple expandable CardView for Android. Contribute to AleSpero/ExpandableCardView development by creating an account on GitHub.

github.com

 

3. 확장 화면 추가

content_view.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:gravity="center"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:text="사용자 정보"
        android:textSize="30sp" />

</LinearLayout>

 

2022.01.01 - [안드로이드] - [안드로이드 스튜디오] 레이아웃 추가하는 방법

 

[안드로이드 스튜디오] 레이아웃 추가하는 방법

이번 시간에는 안드로이드 스튜디오에서 레이아웃 추가하는 방법을 알아보겠습니다. 안드로이드 프로젝트를 만들면 java폴더에는 MainActivity 파일이 있고, res -> layout 폴더에는 activity_main.xml 파일

aries574.tistory.com

 

4. 메인 화면 구성 activity_main.xml

 4-1 속성

 animationDuration: 애니메이션 지속 시간

 expandOnClick: 클릭 시 확장 가능 여부

 icon: 아이콘 설정

 inner_view: 확장 시 보여줄 레이아웃

 startExpanded: 처음부터 확장해서 보여줄지 여부

 title: 타이틀 정보

<?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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="30dp"
        android:text="접힘상태"
        android:textSize="30sp" />

    <com.alespero.expandablecardview.ExpandableCardView
        android:id="@+id/expandCardView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        app:animationDuration="500"
        app:expandOnClick="true"
        app:icon="@drawable/ic_person"
        app:inner_view="@layout/content_view"
        app:startExpanded="false"
        app:title="사용자 정보" />

</LinearLayout>

 아이콘 res -> drawable

ic_person.xml
0.00MB

 

5. 메인 코드 구현 MainActivity.java

package com.kwon.myapplication;

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

import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;

import com.alespero.expandablecardview.ExpandableCardView;


public class MainActivity extends AppCompatActivity {

    ExpandableCardView expandableCardView;

    TextView textView;

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

        textView = findViewById(R.id.textView);

        expandableCardView = findViewById(R.id.expandCardView);

        expandableCardView.setOnExpandedListener(new ExpandableCardView.OnExpandedListener() {
            @Override
            public void onExpandChanged(View v, boolean isExpanded) {

                if(isExpanded){
                    textView.setText("펴짐 상태");
                }else{
                    textView.setText("접힘 상태");
                }
            }
        });

    }//onCreate

} //MainActivity

 

2022.02.05 - [안드로이드] - [안드로이드] 레이아웃(Layout) 접었다 폈다 쉽게 하는 방법

 

[안드로이드] 레이아웃(Layout) 접었다 폈다 쉽게 하는 방법

이번 시간에는 애니메이션 효과를 통해 레이아웃을 접었다 폈다 하는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 Ma

aries574.tistory.com

2022.01.17 - [안드로이드] - [안드로이드] StackView 이미지(Image) 정렬하는 방법

 

[안드로이드] StackView 이미지(Image) 정렬하는 방법

이번 시간에는 StackView를 통해서 이미지 정렬하는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 아이템 화면 만들기 item.xml 3. 아이템 어뎁터 만들기 ItemAdapter.java 4. 메인 화면 구성 activit

aries574.tistory.com

2022.01.12 - [안드로이드] - [안드로이드] RecyclerView 아이템 클릭 상세화면 보여주는 방법

 

[안드로이드] RecyclerView 아이템 클릭 상세화면 보여주는 방법

이번 시간에는 RecyclerView로 리스트를 보여줄 때 아이템 클릭 시 상세하면 보여주는 방법에 대해 알아보겠습니다. 목차 1. 실행 화면 2. person 클래스 만들기 Person.java 3. pserson 화면 만들기 person_item.

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역