আমার কার্যত: গুগল্যাপ থেকে নতুন স্ন্যাপশট ইন্টারফেসটি ব্যবহার করুন এবং পৃষ্ঠাটি স্ক্রোল করার সময় মানচিত্রের একটি স্ন্যাপশট প্রদর্শন করুন।
স্ন্যাপশটটি সেট করার জন্য আমার কোডটি এখানে রয়েছে (এটি মানচিত্রের মতো একই খণ্ডে, ফ্রেগমেন্টম্যাপ.জভা নামে পরিচিত):
public void setSnapshot(int visibility) {
switch(visibility) {
case View.GONE:
if(mapFragment.getView().getVisibility() == View.VISIBLE) {
getMap().snapshot(new SnapshotReadyCallback() {
@Override
public void onSnapshotReady(Bitmap arg0) {
iv.setImageBitmap(arg0);
}
});
iv.setVisibility(View.VISIBLE);
mapFragment.getView().setVisibility(View.GONE);
}
break;
case View.VISIBLE:
if(mapFragment.getView().getVisibility() == View.GONE) {
mapFragment.getView().setVisibility(View.VISIBLE);
iv.setVisibility(View.GONE);
}
break;
}
}
যেখানে "ম্যাপফ্রেগমেন্ট" হ'ল আমার সাপোর্টেডম্যাপফ্র্যাগমেন্ট এবং "আইভ" একটি চিত্রদর্শন (এটি ম্যাচ_পিতা তৈরি করুন)।
এবং এখানে আমি স্ক্রোলটি নিয়ন্ত্রণ করছি:
pager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if(position == 0 && positionOffsetPixels > 0 || position == 1 && positionOffsetPixels > 0) {
((FragmentMap)adapter.getRegisteredFragment(1)).setSnapshot(View.GONE);
} else if(position == 1 && positionOffsetPixels == 0) {
((FragmentMap)adapter.getRegisteredFragment(1)).setSnapshot(View.VISIBLE);
}
}
@Override
public void onPageScrollStateChanged(int arg0) {}
@Override
public void onPageSelected(int arg0) {}
});
মানচিত্র (ফ্রেগমেন্টম্যাপ) সহ আমার খণ্ডটি অবস্থান 1 এ রয়েছে, সুতরাং আমার অবস্থান 0 থেকে 1 এবং অবস্থান 1 থেকে 2 (প্রথম যদি-ধারা) থেকে স্ক্রোলটি নিয়ন্ত্রণ করা দরকার। "getRegectedFraament ()" আমার কাস্টম ফ্রেগমেন্টপেজারএডাপ্টারের একটি ফাংশন, যাতে আমার কাছে "নিবন্ধিতফ্রেগমেন্টস" নামক একটি স্পার্সআরে (খণ্ড) রয়েছে।
সুতরাং, আপনি যখনই নিজের মানচিত্রে বা থেকে স্ক্রোল করছেন, আপনি সর্বদা এটির একটি স্ন্যাপশট দেখতে পাবেন। এটি আমার পক্ষে খুব ভাল কাজ করে।