관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[안드로이드] PhotoView 사진 줌인 줌아웃 (확대 및 축소 드래그) 라이브러리 본문

안드로이드/자바 & Previous

[안드로이드] PhotoView 사진 줌인 줌아웃 (확대 및 축소 드래그) 라이브러리

막무가내막내 2019. 4. 2. 14:13
728x90

안드로이드 외부 라이브러리중 사진을 쉽게 확대 및 축소해서 드래그도 할 수 있게 해주는 것이 있다.

 

이 라이브러리의 사용법에 대해 포스팅할려고한다.

 

먼저 https://github.com/chrisbanes/PhotoView

 

chrisbanes/PhotoView

Implementation of ImageView for Android that supports zooming, by various touch gestures. - chrisbanes/PhotoView

github.com

이 분이 만든 라이브러리고 해당 사이트에 사용법과 라이브러리를 구현해놓았다.

 

 

라이브러리를 사용하기 위해서는

1. gradle project에 maven url을 다음과 같이 추가해줘야한다.

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
        
    }
}

 

2. gradle module에 해당라이브러리와 릴리즈버전을 추가해줘야한다. (맨밑줄)

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.github.chrisbanes:PhotoView:2.1.3'
}

 

3. 그 후는 xml에 photoView를 만든다.

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

    <com.github.chrisbanes.photoview.PhotoView
        android:id="@+id/photoView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</RelativetLayout>

 

4. 마지막으로 소스코드에서 설정해주면 끝이다.

package com.example.mysummary7;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.github.chrisbanes.photoview.PhotoView;

//https://github.com/chrisbanes/PhotoView 라이브러리 가져와서씀
public class MainActivity extends AppCompatActivity {

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

        PhotoView photoView = findViewById(R.id.photoView);
        photoView.setImageResource(R.drawable.image4);
    }
}

 

[실행결과]

초기화면
확대

 

댓글과 공감은 큰 힘이됩니다.

728x90
Comments