1

Question may look like Can ViewPager have multiple views in per page?

I am looking for Content swipe in android. found an example here But didn't got how to implement View pager in my app. Then i found a good example Here, and its working awesome.

Now i want to set dynamic content to slides

I have tried it but Text is showing but image not i want to show many content in slide.

Adapter class:

private class MyPagerAdapter extends PagerAdapter {


        Context context;

        @Override
        public Object instantiateItem(ViewGroup container, int position) {




            TextView view = new TextView(PagerActivity.this);
            view.setText("Item "+position);
            view.setGravity(Gravity.CENTER);
            view.setBackgroundColor(Color.argb(255, position * 50, position * 10, position * 50));

            container.addView(view);
            return view;


            //not working code
            /*ImageView imageView = new ImageView(context);
            int padding = 10;
            imageView.setPadding(padding, padding, padding, padding);
            imageView.setScaleType(ImageView.ScaleType.MATRIX);
            imageView.setImageResource(R.drawable.ic_launcher);
            container.addView(imageView, 0);
            return imageView;*/
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            container.removeView((View)object);
        }

        @Override
        public int getCount() {
            return 5;
        }

        @Override
        public boolean isViewFromObject(View view, Object object) {
            return (view == object);
        }
    } 

Main XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.example.pagercontainer.PagerContainer
        android:id="@+id/pager_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#CCC">
        <android.support.v4.view.ViewPager
            android:layout_width="150dp"
            android:layout_height="100dp"
            android:layout_gravity="center_horizontal" />

    </com.example.pagercontainer.PagerContainer>

</RelativeLayout>

How can i set Dynamic layout for each Page in ViewPager???

Thanks for taking look

Community
  • 1
  • 1

2 Answers2

0

i think you should return container inspite of imageview.

ImageView imageView = new ImageView(context);
        int padding = 10;
        imageView.setPadding(padding, padding, padding, padding);
        imageView.setScaleType(ImageView.ScaleType.MATRIX);
        imageView.setImageResource(R.drawable.ic_launcher);
        container.addView(imageView, 0);
        return container;
Abhishek
  • 39
  • 6
  • I got it. i replace my code ImageView imageView = new ImageView(context); to ImageView imageView = new ImageView(PagerActivity.this);. But its working i want to add both text and image. –  Apr 05 '14 at 07:40
  • First create linear layout and then add both in layout and then add layout in container . – Abhishek Apr 05 '14 at 08:05
0

User Inflater

try this code:

public Object instantiateItem(ViewGroup container, int position) {


    TextView des;

    inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View itemView = inflater.inflate(R.layout.slider, container,
            false);
    des = (TextView) itemView.findViewById(R.id.slider_des);
    des.setText(description[position]);

     AQuery aq = new AQuery(itemView);
     aq.id(R.id.imageView1).image(image1[position], true, true, 0, 0, null, AQuery.FADE_IN, AQuery.RATIO_PRESERVE);

     ((ViewPager) container).removeView(itemView);



    ((ViewPager) container).addView(itemView);

    return itemView;
}

Or use this library

Android-ViewPagerIndicator Example

Community
  • 1
  • 1
Manwal
  • 23,450
  • 12
  • 63
  • 93