이번 시간에는 이미지를 원형으로 보여줘야 하는
프로필 화면에서 쓸 수 있는 방법을 알아보겠습니다.
build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.
implementation 'com.github.bumptech.glide:glide:4.13.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'
implementation 'de.hdodenhof:circleimageview:3.1.0'
setting.gradle
repositories 괄호 안에 아래 코드를 넣어주시면 됩니다.
maven { url 'https://jitpack.io' }
- 참조 문서 -
https://github.com/bumptech/glide
https://github.com/hdodenhof/CircleImageView
- 설명 -
CircleImageView: 이미지를 원형으로 보여줄 이미지뷰
Button: 내부사진을 불러올 기능을 할 버튼
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/profile_image"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerInParent="true"
android:src="@drawable/photo"
app:civ_border_color="@android:color/holo_red_dark"
app:civ_border_width="2dp" />
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/image_btn"
android:layout_below="@id/profile_image"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="사진"
android:textSize="25sp"
android:textStyle="bold"/>
</RelativeLayout>
이미지 res -> drawable
- 설명 -
1. Intent.ACTION_PICK과 setType("image/*)를 통해 내부 이미지를
가져올 수 있다.
2. 가져온 이미지를 Glide를 통해 쉽게 이미지뷰에 쉽게 보여줄 수 있다.
public class MainActivity extends AppCompatActivity {
Uri uri;
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.profile_image);
Button imageBtn = findViewById(R.id.image_btn);
imageBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
activityResultSelect.launch(intent);
}
});
}//onCreate
//사진 가져오기
ActivityResultLauncher<Intent> activityResultSelect = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
if( result.getResultCode() == RESULT_OK && result.getData() != null){
uri = result.getData().getData();
Glide.with(MainActivity.this).load(uri).into(imageView);
}
}
});
}//MainActivity
2022.03.16 - [안드로이드] - [안드로이드] Firebase Storage 이미지 업로드 part1
2022.03.17 - [안드로이드] - [안드로이드] Firebase Storage 이미지 리스트 part2
[안드로이드] ToDoList SQLite 만드는 방법 part1 - 화면과 DB (0) | 2022.03.20 |
---|---|
[안드로이드] 간단한 할 일 목록(ToDoList) 쉽게 만드는 방법 (0) | 2022.03.19 |
[안드로이드] Firebase Storage 이미지 리스트 part2 (0) | 2022.03.17 |
[안드로이드] Firebase Storage 이미지 업로드 part1 (2) | 2022.03.16 |
[안드로이드] Firebase Realtime Database RecyclerView 사용자 삭제하는 방법 (0) | 2022.03.15 |
댓글 영역