코딩하기/Android

[Android] GradientDrawable로 View에 corner radius 적용하기

알랭드1종보통 2019. 9. 1. 01:29
반응형

GradientDrawable을 이용하여 View의 코너가 라운드 처리된 배경이미지 적용하기

layout_test.xml 선언

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:orientation="horizontal" >
    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="하얀글자"
        android:gravity="center"
        android:layout_marginBottom="@dimen/view_margin"
        android:layout_marginTop="@dimen/view_margin"
        android:layout_marginLeft="@dimen/view_margin_side"
        android:layout_marginRight="@dimen/view_margin_side"
        android:textSize="14dp"
        android:singleLine="true"/>
</LinearLayout>

java 코드상에서 View mTestView 를 선언하고 위 layout을 inflate하여 연결함

GradientDrawable gradientDrawable = new GradientDrawable();
gradientDrawable.setColor(Color.parseColor("#2980B9"));
gradientDrawable.setCornerRadius(100);
mTestView.setBackground(gradientDrawable);

//mTestView 내부에 TextView를 넣고 글자를 하얀색으로 표시
TextView textView = mTestView.findViewById(R.id.text);
passNumTextView.setText("하얀글자");
passNumTextView.setTextColor(Color.WHITE);

GradientDrawable 을 생성하고 배경색을 지정

코너의 radius를 적용하고 원하는 View에 background 로 설정

반응형