본문 바로가기
안드로이드 자바

[Android][JAVA]원형 이미지뷰 만들기

by teamnova 2023. 4. 16.
728x90

안녕하세요 이번시간에는 프로필 구현할 때, 많이 쓰이는 원형 이미지뷰 예제를 소개하곘습니다.

XML파일을 생성해서 이미지뷰의 백그라운드로 설정하면 라이브러리 없이 구현 가능합니다.

먼저 app > res > drawable 폴더에 Drawable Resouces 파일을 생성합니다. 

 

circle.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="#595959" />
    <stroke android:color="@color/black"/>
</shape>

생성한 xml파일을 이미지뷰의 백그라운드로 입력합니다.

 

 

 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    >

    <ImageView
        android:background="@drawable/circle"
        android:id="@+id/iv"
        android:padding="5dp"
        android:layout_width="100dp"
        android:layout_height="100dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

액티비티에서 setImageResource 메서드로 설정한 이미지로 연결 해줍니다.

package com.example.example;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageView imageView=findViewById(R.id.iv);
        imageView.setImageResource(R.drawable.snoopy);
    }
}

 

 

실행하면 위의 이미지와 같은 원형으로 이미지뷰가 생성된 것을 볼 수 있습니다.

간단하지만 프로필이미지 구현할 때 자주 사용되고, xml을 직접 만들어서 뷰의 모양을 바꿀 수 있으니 알아두면 좋을것같네요 

감사합니다!