दिलचस्प पोस्ट
इंटरनेट एक्सप्लोरर उपयोग के लिए सीएबी में सी # सक्रिय एक्स तैनात करें एंड्रॉइड – कैसे नेविगेशन ड्रॉवर में टुकड़े को बदलने के लिए लॉगइनदृश्य में नियंत्रण खोजें हमें एक वक्तव्य के बजाय तैयार किए गए स्टेटमेंट का उपयोग कब करना चाहिए? मिलान करने वाले फ़ंक्शन पॉइंटर को कॉल करने के लिए एक ट्यूपल को "अनपॅक करना" एक लाख के लिए वैकल्पिक यदि बयान कैसे नियंत्रक कार्रवाई विधि के लिए प्रोग्राम को स्पष्ट रूप से साफ़ करें तीन रंगों में ढाल के साथ पैनल भरें पोर्ट 80 ईसी 2 खोलने के लिए अमेज़ॅन वेब सेवाओं MVC में $ _POST डेटा को संभालने का सही तरीका क्या है? डेटाबेस> 500 लाख पंक्तियों को नियंत्रित कर सकता है लेमान के शब्दों में एसिंक्रोनस कोड को समझना स्थानीय चर के साथ जावास्क्रिप्ट का समर्थन बंद नहीं होता है? एकाधिक एप्लिकेशन समान सामग्री प्रदाता का उपयोग करते हैं जावास्क्रिप्ट क्लिक ईवेंट हैंडलर – मैं क्लिक किए गए आइटम का संदर्भ कैसे प्राप्त करूं?

क्या ScrollView के अंदर एक ViewPager होना संभव है?

मैं ScrollView अंदर एक ViewPager का उपयोग करने की कोशिश कर रहा हूं, लेकिन ViewPager नहीं दिखाई देता है। अगर मैं ScrollView निकालता हूं तो ViewPager ठीक दिखाई देता है।

मैंने निम्न के साथ एक साधारण परीक्षण प्रोजेक्ट बनाया है:

मुख्य। xml लेआउट:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent"> <android.support.v4.view.ViewPager android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/viewpager" /> </ScrollView> </LinearLayout> 

गतिविधि वर्ग:

 public class ScrollViewWithViewPagerActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ViewPager vp = (ViewPager) findViewById(R.id.viewpager); vp.setAdapter(new MyPagerAdapter(this)); } } class MyPagerAdapter extends PagerAdapter { private Context ctx; public MyPagerAdapter(Context context) { ctx = context; } @Override public int getCount() { return 2; } @Override public Object instantiateItem(View collection, int position) { TextView tv = new TextView(ctx); tv.setTextSize(50); tv.setTextColor(Color.WHITE); tv.setText("SMILE DUDE, SMILE DUDE, SMILE DUDE, SMILE DUDE, SMILE DUDE, " + "SMILE DUDE, SMILE DUDE, SMILE DUDE, SMILE DUDE, SMILE DUDE, " + "SMILE DUDE, SMILE DUDE, SMILE DUDE, SMILE DUDE, SMILE DUDE, " + "SMILE DUDE, SMILE DUDE, SMILE DUDE"); ((ViewPager) collection).addView(tv); return tv; } @Override public void destroyItem(View collection, int position, Object view) { ((ViewPager) collection).removeView((View) view); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Parcelable saveState() { return null; } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { } @Override public void startUpdate(View arg0) { } @Override public void finishUpdate(View arg0) { } } 

आपके समय के लिए धन्यवाद।

Solutions Collecting From Web of "क्या ScrollView के अंदर एक ViewPager होना संभव है?"

मैंने इसे सोचा है;

मुझे android:fillViewport="true" जोड़ने की ज़रूरत थी android:fillViewport="true" ScrollView तत्व के लिए android:fillViewport="true"

हां, स्क्रॉलएव्यू के अंदर दृश्यपेज होना संभव है।

कोड के नीचे का प्रयोग करें और आप अपना लक्ष्य प्राप्त करेंगे, मैंने अपने कोड में भी यही किया है।

  public class WrapContentHeightViewPager extends ViewPager { public WrapContentHeightViewPager(Context context) { super(context); } public WrapContentHeightViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); int height = 0; for (int i = 0; i < getChildCount(); i++) { View child = getChildAt(i); child.measure(widthMeasureSpec, View.MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); int h = child.getMeasuredHeight(); if (h > height) height = h; } heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY); super.onMeasure(widthMeasureSpec, heightMeasureSpec); } } @Override public boolean onTouch(View v, MotionEvent event) { int dragthreshold = 30; int downX = 0; int downY = 0; switch (event.getAction()) { case MotionEvent.ACTION_DOWN: downX = (int) event.getRawX(); downY = (int) event.getRawY(); break; case MotionEvent.ACTION_MOVE: int distanceX = Math.abs((int) event.getRawX() - downX); int distanceY = Math.abs((int) event.getRawY() - downY); if (distanceY > distanceX && distanceY > dragthreshold) { mViewPager.getParent().requestDisallowInterceptTouchEvent(false); mScrollView.getParent().requestDisallowInterceptTouchEvent(true); } else if (distanceX > distanceY && distanceX > dragthreshold) { mViewPager.getParent().requestDisallowInterceptTouchEvent(true); mScrollView.getParent().requestDisallowInterceptTouchEvent(false); } break; case MotionEvent.ACTION_UP: mScrollView.getParent().requestDisallowInterceptTouchEvent(false); mViewPager.getParent().requestDisallowInterceptTouchEvent(false); break; } return false; } 

आशा है कि यह किसी ScrollView में नीडिंत ViewPager के साथ स्क्रॉल समस्याओं को हल करने में किसी को सहायता करता है।

यह सोल्यूशन मेरे लिए काम करता है, दैनमिक रूप से सामग्री के साथ

http://www.henning.ms/2013/09/09/viewpager-that-simply-dont-measure-up/

एक्सएमएल android:fullViewPorts=true और android:layout_height=wrap_content

कस्टम android:layout_height=wrap_content , android:layout_height=wrap_content भी android:layout_height=wrap_content

आप यह करने की कोशिश क्यों कर रहे हैं? अधिक प्राकृतिक तरीके से प्रत्येक पृष्ठ को ScrollView में लपेट करना होगा यदि आपको इसकी आवश्यकता है