Search the Community
Showing results for tags 'ViewPager scrolling'.
-
I've got a ViewPager and a TextView inside it. When content of TextView is larger then it is visible on screen, there shall be possibility to scroll it vertically. But it does not do this automatically :( Here is an xml for TextView <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/txText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#338877" android:padding="15dp" android:scrollHorizontally="false" android:scrollbarAlwaysDrawVerticalTrack="true" android:scrollbars="vertical" android:textAppearance="?android:attr/textAppearanceMedium" /> And here is an xml for ViewPager <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/vpPonkSwiper" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@+id/lbPonkFooter" /> <TextView android:id="@+id/lbPonkFooter" android:layout_width="fill_parent" android:layout_height="30dp" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:text="Footer" /> </RelativeLayout> Here is an adapter: public class PonkPageAdapter extends PagerAdapter { private int pagesCount = -1; private List<Ponk> data; private App app; private MockPersistence db; private Activity activity; private TextView currentView; private LayoutInflater inflater; public PonkPageAdapter(Activity activity, byte section) { this.activity = activity; this.app = ((App) activity.getApplication()); this.db = app.getPersistence(); this.section = section; this.data = db.findPonksBySection(section); // new LinkedList<Ponk>(); this.inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); // this.pagesCount = db.countPonksInSection(section); } @Override public int getCount() { return pagesCount; } @Override public Object instantiateItem(View collection, int position) { TextView tv = getNewView(); Ponk j = data.get(position); tv.setText(j.text); tv.setTag(j.id); setFontSizeInSP(tv, app.getFontSize()); tv.setTag(position); ((ViewPager) collection).addView(tv, 0); return tv; } private TextView getNewView() { LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); TextView tv = (TextView)inflater.inflate(R.layout.Ponk, null); return tv; } @Override public void setPrimaryItem(ViewGroup container, int position, Object object) { currentView = (TextView) object; } @Override public void destroyItem(View collection, int position, Object view) { ((ViewPager) collection).removeView((TextView) view); } @Override public boolean isViewFromObject(View view, Object object) { return view == (TextView) object; } @Override public Parcelable saveState() { return null; } }