जैक के ViewPageIndicator में उन्होंने देखें पेजर लागू किया गया है एक स्ट्रिंग सरणी (अर्थात ["this","is","a","text"]
) जो आप (कि FragmentPagerAdapter फैली) YourFragment.java जो viewpager के लिए एक दृश्य रिटर्न के लिए YourAdapter.java से पारित प्रदर्शित करने के लिए।
कुछ अलग प्रदर्शित करने के लिए, आपको बस अपने पास के संदर्भ प्रकार को बदलना होगा।
public class PlaceDetailsFragment extends SherlockFragment {
PlaceSlidesFragmentAdapter mAdapter;
ViewPager mPager;
PageIndicator mIndicator;
public static final String TAG = "detailsFragment";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_place_details,
container, false);
mAdapter = new PlaceSlidesFragmentAdapter(getActivity()
.getSupportFragmentManager());
mPager = (ViewPager) view.findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
mIndicator = (CirclePageIndicator) view.findViewById(R.id.indicator);
mIndicator.setViewPager(mPager);
((CirclePageIndicator) mIndicator).setSnap(true);
mIndicator
.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
Toast.makeText(PlaceDetailsFragment.this.getActivity(),
"Changed to page " + position,
Toast.LENGTH_SHORT).show();
}
@Override
public void onPageScrolled(int position,
float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
return view;
}
}
your_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/indicator"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dip" />
</LinearLayout>
YourAdapter:
यह आपके Viewpager है आप कैसे सेटअप: इस मामले में आप के रूप में नीचे नमूने में बताया गया, पाठ के बजाय छवियों पास करना चाहते हैं। जावा
public class PlaceSlidesFragmentAdapter extends FragmentPagerAdapter implements
IconPagerAdapter {
private int[] Images = new int[] { R.drawable.photo1, R.drawable.photo2,
R.drawable.photo3, R.drawable.photo4
};
protected static final int[] ICONS = new int[] { R.drawable.marker,
R.drawable.marker, R.drawable.marker, R.drawable.marker };
private int mCount = Images.length;
public PlaceSlidesFragmentAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return new PlaceSlideFragment(Images[position]);
}
@Override
public int getCount() {
return mCount;
}
@Override
public int getIconResId(int index) {
return ICONS[index % ICONS.length];
}
public void setCount(int count) {
if (count > 0 && count <= 10) {
mCount = count;
notifyDataSetChanged();
}
}
}
YourFragment.java
,210
// आप छवि here.//
public final class PlaceSlideFragment extends Fragment {
int imageResourceId;
public PlaceSlideFragment(int i) {
imageResourceId = i;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ImageView image = new ImageView(getActivity());
image.setImageResource(imageResourceId);
LinearLayout layout = new LinearLayout(getActivity());
layout.setLayoutParams(new LayoutParams());
layout.setGravity(Gravity.CENTER);
layout.addView(image);
return layout;
}
}
से पाठ की instaed आप उपरोक्त कोड से इस तरह एक दृश्य पेजर मिलना चाहिए लौटना ही होगा।
मैंने आपके कोड की कोशिश की है लेकिन छवि दिखाई नहीं दे रही है। गलत क्या ?? – Dolphin
नमस्ते मैंने इस कोड को भी आजमाया, मुझे स्वाइप करने में समस्या हो रही है क्योंकि छवि पेजर बिल्कुल काम नहीं कर रहा है, यह केवल पैरेंट पेजर को स्वाइप करता है और छवियां भी प्रदर्शित नहीं होती हैं, मैं गलत क्या कर रहा हूं? –
@ mak_just4anything ऐसा लगता है कि आप व्यू पेजर के अंदर एक व्यू पेजर का उपयोग कर रहे हैं। मैंने दो बार कोशिश की लेकिन इसे काम नहीं कर सका। मैंने जो किया था वह टैब था और टुकड़ों के लिए दृश्य पेजर नहीं था। –