개발일기

23.08.03 부트캠프 25일차 TIL 이미지 구현

빛나는맛과탕탕 2023. 8. 3. 09:23
반응형

나는 오늘 무엇을 했는가?

 

이미지 랜덤 구현 및 이미지 동그랗게 만들기

 

버튼 색바꾸기, padding, margin 

 

gif 이미지를 ImageView 이미지뷰 넣는방법

 

gradle 의존성 추가를 해줍니다.

 

 

<?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:id="@+id/imageview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher_background"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">
    </ImageView>

</androidx.constraintlayout.widget.ConstraintLayout>




//////////// gradle dependencies에 추가

    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
    
    ///////////



    
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import com.bumptech.glide.Glide;

public class MainActivity extends AppCompatActivity {

    ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        imageView = findViewById(R.id.imageview);

        Glide.with(this).load(R.raw.test).into(imageView);
    }
}

// raw폴더 생성 해야 된다고합니다.
// NEW-Folder-RaW Resources Folder
// raw폴더 생성이 된다.

 

 참고 블로그

 

안드로이드 GIF 이미지를 ImageView(이미지뷰)에 띄우기

우선 이미지뷰를 하나 만듭니다. 그리고 의존성 추가를 해줍니다. implementation 'com.github.bumptech.glide:glide:4.11.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' import androidx.appcompat.app.AppCompatActivity;

onedaycodeing.tistory.com

 

<de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/img_favorite1"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_gravity="center"
        android:layout_marginTop="50dp"
        android:layout_marginBottom="10dp"
        android:src="@drawable/img1"
        app:civ_border_color="#FF000000"
        app:civ_border_overlay="true"
        app:civ_border_width="2dp"
        app:layout_constraintBottom_toTopOf="@+id/home_txt_id"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="MissingConstraints" />
        
        //xml 파일에 추가
        
        
        
        // 해당 kt파일에 추가 하기
        
        class HomeActivity : AppCompatActivity() {
    		@SuppressLint("MissingInflatedId")
    		override fun onCreate(savedInstanceState: Bundle?) {
        		super.onCreate(savedInstanceState)
        		setContentView(R.layout.activity_home)
        
        		val imgView = findViewById<ImageView>(R.id.img_favorite1)
        		val randomImgArr: Array<Int> = arrayOf(R.drawable.img1,R.drawable.img2,R.drawable.img3,R.drawable.img4,R.drawable.img5)
        		val num: Int = Random.nextInt(5)

        			imgView.background = ShapeDrawable(OvalShape())

        				if(Build.VERSION.SDK_INT >= 21){
            				imgView.clipToOutline = true
        					}

        		imgView.setImageResource(randomImgArr[num])
        
        // 팀장님 코드 복붙하고 이 코드가 어떻게 동작하는지 생각해봄
        // drawable 파일에 img1.png~img5.png 넣어놔야됨

 

튜터님 면담 후 혼자 고민 해보는 시간을 늘려 보는 게 좋다고 말씀해주셨다.

 

반응형