Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android ImageView में जूम-इन और जूम-आउट कैसे करें?

ScaleGestureDetector का उपयोग करके ImageView पर पिंच-टू-जूम कार्यक्षमता लागू करने का तरीका।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट

res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    android:gravity="center"
    tools:context=".MainActivity">
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/image"
        android:scaleType="matrix" />
</LinearLayout>

चरण 3: जूम लॉजिक

src/MainActivity.java:

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {
    private ScaleGestureDetector scaleGestureDetector;
    private float mScaleFactor = 1.0f;
    private ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView = findViewById(R.id.imageView);
        scaleGestureDetector = new ScaleGestureDetector(this, new ScaleListener());
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        scaleGestureDetector.onTouchEvent(event);
        return true;
    }

    private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
        @Override
        public boolean onScale(ScaleGestureDetector detector) {
            mScaleFactor *= detector.getScaleFactor();
            mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 10.0f)); // 0.1x से 10x तक
            imageView.setScaleX(mScaleFactor);
            imageView.setScaleY(mScaleFactor);
            return true;
        }
    }
}

चरण 4: मैनिफेस्ट

मानक मैनिफेस्ट।

बेहतर कार्यान्वयन: PhotoView लाइब्रेरी

उत्पादन ऐप्स के लिए PhotoView लाइब्रेरी का उपयोग करें:

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

// Java/Kotlin में
PhotoView photoView = findViewById(R.id.photoView);
photoView.setImageResource(R.drawable.image);

PhotoView विशेषताएं

  • पिंच टू जूम
  • डबल टैप जूम
  • पैन/ड्रैग
  • फ्लिंग मोमेंटम
  • जूम लिमिट्स कॉन्फिगरेबल
  • ViewPager के साथ संगत

कस्टम Matrix दृष्टिकोण (उन्नत)

अधिक नियंत्रण के लिए ImageView.setScaleType(ScaleType.MATRIX) और Matrix क्लास का उपयोग करके ट्रांसलेशन और स्केल दोनों प्रबंधित करें।

  1. Android में ImageView की इमेज को कोण से कैसे घुमाएं? Android में ImageView की इमेज को कोण से कैसे घुमाएं?

    Android में ImageView रोटेशन यह उदाहरण दर्शाता है कि setRotation() विधि का उपयोग करके ImageView में प्रदर्शित इमेज को किसी भी कोण पर कैसे घुमाया जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट में ImageView और Button जोड़ें (activity_main.xml) <?xml ver

  1. Android में स्ट्रिंग को सबस्क्रिप्ट और सुपरस्क्रिप्ट कैसे बनाएं? Android में स्ट्रिंग को सबस्क्रिप्ट और सुपरस्क्रिप्ट कैसे बनाएं?

    SpannableStringBuilder और Span क्लासेज का उपयोग करके टेक्स्ट में सबस्क्रिप्ट (नीचे) और सुपरस्क्रिप्ट (ऊपर) लागू करने का तरीका। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <RelativeLayout x

  1. Android में सर्कुलर ImageView पर शैडो और बॉर्डर कैसे जोड़ें? Android में सर्कुलर ImageView पर शैडो और बॉर्डर कैसे जोड़ें?

    यह उदाहरण दर्शाता है कि Android में प्रोग्रामेटिकली Bitmap मैनिपुलेशन करके सर्कुलर ImageView पर बॉर्डर और शैडो कैसे जोड़ा जाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project। चरण 2: लेआउट XML res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <Relative