본문 바로가기
안드로이드

안드로이드 View에 둥근 모서리(Rounded Corner)와 배경색 적용하는 방법 (XML 예제 포함)

by Best Coding 2025. 4. 6.
반응형

안드로이드 뷰에 둥근 모서리 적용하기

 

 

안드로이드에서 버튼, 레이아웃 등 뷰(View)의 모서리를 둥글게 만들고 배경색을 적용하는 방법을 소개합니다. 이 글은 Android 개발자라면 누구나 쉽게 따라할 수 있도록 XML 기반 예제와 단계별 설명을 제공합니다.


 

 

✅ 왜 Rounded Corner를 써야 할까?

요즘 UI/UX 디자인에서 부드러운 곡선은 사용성 향상과 함께 모던한 디자인을 제공하는 핵심 요소입니다. Google의 Material Design 가이드라인에서도 라운드 코너(Rounded Corners)를 적극 권장하고 있어요.


 

 

🔧 적용 방법 1: Drawable XML을 이용한 둥근 모서리 배경 적용

(1) Drawable XML 파일 생성하기

res/drawable/rounded_bg.xml 파일을 만들어 아래처럼 작성합니다:

<!-- res/drawable/rounded_bg.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    
    <!-- 배경색 지정 -->
    <solid android:color="#FF5722" />

    <!-- 모서리를 둥글게 -->
    <corners android:radius="16dp" />
</shape>

💡 android:radius="16dp"는 모든 모서리에 동일한 반지름을 적용합니다. 필요하다면 topLeftRadius, bottomRightRadius 등으로 개별 지정도 가능해요.

 


 

 

(2)  XML의 뷰에 배경 적용하기

이제 원하는 View에 위에서 만든 rounded_bg.xml을 배경으로 설정해줍니다.

<FrameLayout
    android:layout_width="200dp"
    android:layout_height="100dp"
    android:background="@drawable/rounded_bg"
    android:clipToOutline="true" />

🔐 중요! clipToOutline="true" 속성을 반드시 추가해야 실제로 모서리가 잘린 것처럼 보여요. 이 속성이 없으면 배경은 둥글게 보이더라도 내부 콘텐츠는 네모로 보일 수 있습니다.


 

⚠️ clipToOutline이 작동하지 않을 때?

  • clipToOutlineAPI 21 (Lollipop) 이상에서만 작동합니다.
  • 일부 ViewGroup (예: LinearLayout)은 기본적으로 Outline을 제공하지 않아 클리핑이 되지 않습니다.
  • 이럴 땐 CardView 또는 MaterialCardView 사용을 추천합니다.

 

 

✅ 적용 방법 2: CardView를 이용한 더 간단한 라운드 코너

CardView는 안드로이드에서 라운드 처리 + 그림자 + 배경 처리를 한번에 할 수 있는 강력한 View입니다.

<androidx.cardview.widget.CardView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:cardCornerRadius="16dp"
    app:cardBackgroundColor="#4CAF50"
    app:cardElevation="4dp">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="CardView 안의 텍스트"
        android:padding="16dp" />
</androidx.cardview.widget.CardView>

💡 CardView는 내부적으로 모서리 클리핑까지 다 처리해주기 때문에, clipToOutline 설정이 필요 없습니다.


 

✅ 정리: 어떤 방법을 써야 할까?

방법 장점 단점
Drawable + clipToOutline 커스터마이징이 유연함 일부 ViewGroup에선 작동 안 함
CardView 간편하고 안정적 그림자 제거가 어려움

 

 

💬 마무리하며

안드로이드에서 둥근 모서리와 배경색을 적용하는 방법은 다양하지만, 상황에 따라 적절한 방법을 선택하는 것이 중요합니다. 위 예제를 직접 따라해보면서 다양한 UI를 만들어보세요!

궁금한 점이나 안 되는 부분이 있다면 댓글로 질문 남겨주세요 😊

반응형

댓글