如何为我的Android应用程序实现旋转横幅?

如何为我的Android应用程序实现旋转横幅?,android,image,banner,Android,Image,Banner,在我的登录活动中,我希望有一个横幅3,它将在特定时间切换。就像网站上的新闻一样。有一个箭头可以传递到下一个,但主要是自动传递 我想要的一个例子是,当我刷卡或等待时,Tinder登录屏幕上的这些图像会切换: 我如何在Android上做类似的事情?有没有一种方法可以在本地实现呢?或者至少有外部资源吗?试试这段代码 public class TestActivity extends AppCompatActivity { int images[] = {R.drawable.ic_ear

在我的登录活动中,我希望有一个横幅3,它将在特定时间切换。就像网站上的新闻一样。有一个箭头可以传递到下一个,但主要是自动传递

我想要的一个例子是,当我刷卡或等待时,Tinder登录屏幕上的这些图像会切换:

我如何在Android上做类似的事情?有没有一种方法可以在本地实现呢?或者至少有外部资源吗?

试试这段代码

public class TestActivity  extends AppCompatActivity {

    int images[] = {R.drawable.ic_earth, R.drawable.oval_btn,
             R.drawable.ic_group_black_24dp, R.drawable.ic_earth};
    ImagePagerAdapter myAdapter;

            @Override
            protected void onCreate(@Nullable Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.tests);

                ViewPager viewPager = findViewById(R.id.viewPager);

                myAdapter = new ImagePagerAdapter(TestActivity.this, images);
                viewPager.setAdapter(myCustomPagerAdapter);
                setupViewPager(viewPager);

            }

            int currentPage = 0;
            Timer timer;
            final long DELAY_MS = 500;
            final long PERIOD_MS = 3000;
            int NUM_PAGES = 4;

            private void setupViewPager(final ViewPager viewPager) {


                final Handler handler = new Handler();
                final Runnable Update = new Runnable() {
                    public void run() {
                        if (currentPage == NUM_PAGES) {
                            currentPage = 0;
                        }
                        viewPager.setCurrentItem(currentPage++, true);
                    }
                };

                timer = new Timer(); // This will create a new Thread
                timer .schedule(new TimerTask() { // task to be scheduled

                    @Override
                    public void run() {
                        handler.post(Update);
                    }
                }, DELAY_MS, PERIOD_MS);

            }
            public class ImagePagerAdapter extends PagerAdapter {

                Context context;
                int images[];
                LayoutInflater layoutInflater;


                public ImagePagerAdapter(Context context, int images[]) {
                    this.context = context;
                    this.images = images;
                    layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                }

                @Override
                public int getCount() {
                    return images.length;
                }

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

                @Override
                public Object instantiateItem(ViewGroup container, final int position) {
                    View itemView = layoutInflater.inflate(R.layout.item, container, false);

                    ImageView imageView = (ImageView) itemView.findViewById(R.id.imageView);
                    imageView.setImageResource(images[position]);

                    container.addView(itemView);

                    //listening to image click
                    imageView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                        }
                    });

                    return itemView;
                }

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