एंड्रॉइड में ग्रेविटी व्यू लाइब्रेरी का उपयोग
ग्रेविटी व्यू एक लाइब्रेरी है जो एंड्रॉइड डिवाइस के मोशन सेंसर (एक्सेलेरोमीटर/जायरोस्कोप) का उपयोग करके उपयोगकर्ताओं को डिवाइस को झुकाकर छवियों/सामग्री का पता लगाने की अनुमति देती है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनें।
चरण 2: build.gradle में निर्भरता जोड़ें
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'co.gofynd.library:gravity-view:1.0'
testImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
चरण 3: लेआउट फ़ाइल (activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop" />
</HorizontalScrollView>
</RelativeLayout>
चरण 4: MainActivity.java
package com.example.gravityviewdemo;
import android.os.Bundle;
import android.widget.ImageView;
import androidx.appcompat.app.AppCompatActivity;
import co.gofynd.gravityview.GravityView;
public class MainActivity extends AppCompatActivity {
private GravityView gravityView;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
gravityView = GravityView.getInstance(this);
// जांचें कि डिवाइस सेंसर का समर्थन करता है या नहीं
boolean isSupported = gravityView.deviceSupported();
if (isSupported) {
gravityView
.setImage(imageView, R.drawable.background_image) // अपने ड्रॉएबल का उपयोग करें
.center(); // केंद्र से शुरू करें
} else {
imageView.setImageResource(R.drawable.background_image);
// फॉलबैक: सामान्य छवि प्रदर्शन
}
}
@Override
protected void onResume() {
super.onResume();
if (gravityView != null) {
gravityView.registerListener(); // सेंसर सुनना शुरू करें
}
}
@Override
protected void onPause() {
super.onPause();
if (gravityView != null) {
gravityView.unRegisterListener(); // बैटरी बचाने के लिए रोकें
}
}
}
तैयारी
- एक बड़ी छवि
res/drawable/background_image.jpgमें जोड़ें (स्क्रीन से चौड़ी) - छवि क्षैतिज रूप से स्क्रॉल करने योग्य होनी चाहिए
कैसे काम करता है
GravityView.getInstance()- सिंगलटन इंस्टेंस प्राप्त करता हैdeviceSupported()- सेंसर उपलब्धता जांचता हैsetImage(view, resId)- छवि और लक्ष्य व्यू सेट करता हैcenter()- छवि को केंद्र में स्थित करता हैregisterListener()/unRegisterListener()- सेंसर सुनना शुरू/रोकता है
ऐप चलाएं
डिवाइस को बाएं/दाएं झुकाएं ताकि छवि के विभिन्न भागों का पता लगाया जा सके। केंद्र से शुरू होता है, गति के साथ चलता है।
नोट: यह लाइब्रेरी पुरानी हो सकती है। आधुनिक विकल्पों में सेंसर API के साथ कस्टम कार्यान्वयन या MotionLayout शामिल हैं।