android image滑块

Android图像滑块将整个屏幕滑动到另一屏幕。图像滑块由支持库提供的ViewPager创建。要实现图像滑块,你需要继承扩展PagerAdapter的ViewPager类。
图像滑块示例
【android image滑块】让我们来看一个Android图片滑块的示例。
activity_main.xml
在activity_main.xml文件中,我们将ViewPager包装在RelativeLayout中。
文件:activity_main.xml

< ?xml version="1.0" encoding="utf-8"?> < RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.test.imageslider.MainActivity">< android.support.v4.view.ViewPager android:id="@+id/viewPage" android:layout_width="fill_parent" android:layout_height="fill_parent" />< /RelativeLayout>

活动类
文件:MainActivity.java
package com.example.test.imageslider; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity {@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewPager mViewPager = (ViewPager) findViewById(R.id.viewPage); ImageAdapter adapterView = new ImageAdapter(this); mViewPager.setAdapter(adapterView); } }

ImageAdapter类
现在创建ImageAdapter类,该类扩展了用于Android图像滑块的PagerAdapter。
将一些图像放在要滑动的可绘制文件夹中。
文件:ImageAdapter.java
package com.example.test.imageslider; import android.content.Context; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; public class ImageAdapter extends PagerAdapter{ Context mContext; ImageAdapter(Context context) { this.mContext = context; }@Override public boolean isViewFromObject(View view, Object object) { return view == ((ImageView) object); }private int[] sliderImageId = new int[]{ R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image5, }; @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView = new ImageView(mContext); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setImageResource(sliderImageId[position]); ((ViewPager) container).addView(imageView, 0); return imageView; }@Override public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager) container).removeView((ImageView) object); }@Override public int getCount() { return sliderImageId.length; } }

我们需要重写PagerAdapter类的以下方法。
  1. isViewFromObject(View,Object):此方法检查视图是否与键相关联并由InstantiateItem()返回。
  2. InstantiateItem(ViewGroup,int):此方法创建作为参数传递的页面位置。
  3. destroyItem(ViewGroup,int,Object):它将页面从容器的当前位置移除。在此示例中,我们仅使用removeView()删除了对象。
  4. getCount():它返回ViewPager中可用视图的数量。
输出量
android image滑块

文章图片
android image滑块

文章图片

    推荐阅读