안드로이드 앱 개발

원형 ripple 만드는 방법 본문

안드로이드앱

원형 ripple 만드는 방법

스텝바이스텝안드로이드 2021. 3. 21. 00:24

1. MaterialCardView 사용 

 <com.google.android.material.card.MaterialCardView
            android:layout_width="@dimen/arrow_background_width"
            android:layout_height="@dimen/arrow_background_height"
            android:backgroundTint="@android:color/transparent"
            app:cardCornerRadius="100dp"
            app:cardElevation="0dp"
            app:rippleColor="@color/mainGreyFor30"
            android:clickable="true"

            android:layout_centerVertical="true"
            android:layout_toRightOf="@+id/current_Date"

            android:layout_marginLeft="@dimen/activity_small_horizontal_margin">

            <ImageView
                android:layout_width="@dimen/arrow_icon_width"
                android:layout_height="@dimen/arrow_icon_height"
                android:background="@drawable/thin_simplearrow"
                android:layout_gravity="center" />
        </com.google.android.material.card.MaterialCardView>

2. ImageButton 이용

<ImageButton
    android:id="@+id/ib_capture"
    android:layout_width="62dp"
    android:layout_height="62dp"
    android:src="@drawable/bg_ib_capture_ripple"
    android:background="@null"/>
// bg_ib_capture_ripple.xml 파일



<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#c8c8c8">
    <item android:drawable="@drawable/btn_capture"/>
</ripple>

 

* 주의

MaterialCardview에서 cornerRadius를 100dp로 설정하니까 자꾸 화면에서 사라지는 오류가 생겨서 알아봤다.

 

기본적으로 cornerRadius는 width나 height의 최대 half size로 설정해야 오류없이 원형을 나타낼 수 있었다.