2016-07-07 5 views
4

& 두 개의 이미지 뷰를 동시에 동시에 확대/축소하려고합니다. 즉, 왼쪽 뷰를 확대하고 다른 ImageView에서 지연없이 정확한 효과를보고 싶습니다.2 개의 ImageView에서 동시에 확대/축소하는 방법은 무엇입니까?

이미 라이브러리가 있습니까? 난 당신이 Matrix.mapreact을보고 이미지의 perticuler 매트릭스와 함께 작동하도록하는 것이 좋습니다 어떤 성공 :(없이 많은 주위

감사

+0

첫 번째 ImageViews에서 "확대/축소"하는 데 사용하는 메커니즘은 무엇입니까? –

+0

현재 PhotoView (https://github.com/chrisbanes/PhotoView)의 수정 된 버전을 사용하고 있지만 필요한 경우 라이브러리를 변경할 수 있습니다. – Filnik

답변

2

사실 (그것이 작동되도록하려면 비행하지 않고 ... if 당신은 비행과 함께 그것을 할 수있는 위대한 것입니다) 나는 PhotoViewAttacher 메서드를 무시하고 그들을 toghether 링크해야합니다. 사실 나는 스케일 옵션 만 다시 시작하기를 원하지 않았지만 드래그 역시 그렇게했다. 나는 이렇게 했어.

0

당신이 이미지 뷰를 사용하는 경우를 검토 한

또는

당신은 또한 실제로는 홍보의 GestureImageView

public class SampleActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 

     GestureImageView view = new GestureImageView(this); 
     view.setImageResource(R.drawable.image); 
     view.setLayoutParams(params); 

     ViewGroup layout = (ViewGroup) findViewById(R.id.layout); 

     layout.addView(view); 
    } 
} 
+0

코드 예제에서 두 번째 핸들을 이해하지 못했습니다. 영상. 거기에 하나만 있니? – Filnik

7

을 사용할 수 있습니다 library 간단한 etty 사용됩니다

레이아웃 activity_main : 활동 내부

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:paddingTop="30dp" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal"> 

    <ImageView 
     android:id="@+id/photo1" 
     android:layout_width="0dp" 
     android:layout_height="100dp" 
     android:layout_weight="1" /> 

    <ImageView 
     android:id="@+id/photo2" 
     android:layout_width="0dp" 
     android:layout_height="100dp" 
     android:layout_weight="1" /> 

</LinearLayout> 

그리고 코드를

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

    ImageView pic1 = (ImageView) findViewById(R.id.photo1); 
    ImageView pic2 = (ImageView) findViewById(R.id.photo2); 

    Drawable bitmap = getResources().getDrawable(R.mipmap.ic_launcher); 
    pic1.setImageDrawable(bitmap); 
    pic2.setImageDrawable(bitmap); 

    PhotoViewAttacher photoViewAttacher1 = new PhotoViewAttacher(pic1); 
    final PhotoViewAttacher photoViewAttacher2 = new PhotoViewAttacher(pic2); 
    photoViewAttacher1.setOnScaleChangeListener(new PhotoViewAttacher.OnScaleChangeListener() { 
     @Override 
     public void onScaleChange(float v, float v1, float v2) { 
      photoViewAttacher2.onScale(v, v1, v2); 
     } 
    }); 
} 

는 결과 :

enter image description here

+0

당신의 솔루션은 훌륭합니다! 유일한 문제는 이미지를 확대/축소하고 "움직여"이미지를 탭하면 다른 이미지가 동작을 복제하지 않는다는 것입니다. 그것을하는 방법에 대한 아이디어? – Filnik