Bonsoir,
je suis un débutant en programmation .je suis entrain de créer une petite application qui permet de zoomer une imageView .quand j'utilise une image qui s'affiche entièrement sur tous les contours du layout(tous les partis de l'image sont vu et couvre tout le layout) ,tous les partis de l'image ne s'affiche plus sur layout comme si on avait zoomer en plus de l'effet zoom lorsque dans le code XML j’écris android:scaleType="matrix" .pourtant moi je veux que l'image s'affiche entièrement sur layout dans sa taille réelle que l’utilisateur puisse zoomer .je pense que c'est le fait que j’utilise scaletype="matrix" puisque quand je met scaletype="centerinside" l'image s'affiche entièrement comme je veux mais il ya plus l'effet zoom sur l'image .je me demande si je dois modifier mon code java aussi quand j'utulise plustot scaletype="centerinside".je vous pris de m'aider voici mon code:


code XML:

Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.sabar.zoomimage.MainActivity">
 
 
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:scaleType="matrix"
        android:src="@drawable/imge3"
        android:layout_alignParentBottom="true" />
</RelativeLayout>




code JAVA:

Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package com.sabar.text1;
 
import android.graphics.Matrix;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.widget.ImageView;
 
 
 
import android.graphics.Matrix;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.widget.ImageView;
 
 
 
import android.graphics.Matrix;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.widget.ImageView;
 
 
 
import android.graphics.Matrix;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.widget.ImageView;
 
import android.graphics.Matrix;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.widget.ImageView;
 
public class MainActivity extends AppCompatActivity {
 
 
 
    ImageView imageView;
    Matrix matrix= new Matrix();
    Float scale=1f;
    ScaleGestureDetector SGD;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        imageView= (ImageView)  findViewById(R.id.imageView);
 
        SGD=new ScaleGestureDetector(this,new ScaleListener());
 
 
    }
 
    private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener{
 
        @Override
 
        public boolean onScale (ScaleGestureDetector detector){
 
            scale=scale * detector.getScaleFactor();
            scale=Math.max(0.1f,Math.min(scale,5f));
            matrix.setScale(scale, scale);
            imageView.setImageMatrix(matrix);
            return true;
        }
    }
 
    @Override
 
    public boolean onTouchEvent(MotionEvent event){
 
        SGD.onTouchEvent(event);
        return true;
    }
}