ViewPager滑动页面
来源:互联网 发布:东方日升数据造假 编辑:程序博客网 时间:2024/06/01 09:02
先来两效果图
这是最简单的滑动切换 适用初学者
第一步:布局
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <!-- 这里是显示页面的 没有初始化 什么都不会有 --> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/white" > </android.support.v4.view.ViewPager> <!-- 这里是小圆点布局 --> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <LinearLayout android:id="@+id/viewGroup" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginBottom="50.0dp" android:gravity="center" android:orientation="horizontal" > </LinearLayout> </RelativeLayout></FrameLayout>
下面是需要切换的页面布局
<?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" > <TextView android:layout_centerInParent="true" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="layout1" /></RelativeLayout>
<?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" android:orientation="vertical" > <TextView android:layout_centerInParent="true" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="layout2" /></RelativeLayout>
第二步:MyAdapter
public class MyAdapter extends PagerAdapter{ private List<View> mListViews; public MyAdapter(List<View> mListViews) { this.mListViews = mListViews;//构造方法,参数是我们的页卡,这样比较方便。 } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(mListViews.get(position));//删除页卡 } @Override public Object instantiateItem(ViewGroup container, int position) {//这个方法用来实例化页卡 container.addView(mListViews.get(position), 0);//添加页卡 return mListViews.get(position); } @Override public int getCount() { return mListViews.size();//返回页卡的数量 } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1; }}
第三步:MainActivity
public class MainActivity extends Activity { private View view1,view2; private List<View> viewList; private ImageView[] img; ViewPager mViewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } public void init(){ mViewPager = (ViewPager) this.findViewById(R.id.viewpager); LayoutInflater lf=LayoutInflater.from(this); view1=lf.inflate(R.layout.layout1, null); view2=lf.inflate(R.layout.layout2, null); viewList=new ArrayList<View>(); viewList.add(view1); viewList.add(view2); setImg(viewList); mViewPager.setAdapter(new MyAdapter(viewList)); mViewPager.setOnPageChangeListener(new ViewPagerPageChangeListener()); } //设置图片 public void setImg(List<View> viewList){ img = new ImageView[viewList.size()]; LinearLayout layout = (LinearLayout) findViewById(R.id.viewGroup); for (int i = 0; i < viewList.size(); i++) { img[i] = new ImageView(MainActivity.this); if (0 == i) { img[i].setBackgroundResource(R.drawable.on); } else { img[i].setBackgroundResource(R.drawable.noon); } img[i].setPadding(0, 0, 20, 0); layout.addView(img[i]); } } //滑动事件 class ViewPagerPageChangeListener implements OnPageChangeListener { @Override public void onPageScrollStateChanged(int state) { } @Override public void onPageScrolled(int page, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int page) { //更新图标 for (int i = 0; i < viewList.size(); i++) { if (page == i) { img[i].setBackgroundResource(R.drawable.on); } else { img[i].setBackgroundResource(R.drawable.noon); } } } }}
搞定收工
最后附上源码:http://download.csdn.net/detail/laigezao/8923351
(拒绝伸手党,需资源分1分)
0 0
- ViewPager页面滑动切换
- ViewPager滑动页面
- ViewPager实现滑动页面
- ViewPager(页面滑动)
- 页面滑动ViewPager
- 引导页面滑动ViewPager(设置ViewPager适配器)
- ViewPager+Fragment实现滑动页面
- ViewPager+Fragment实现滑动页面
- ViewPager + Fragment 实现页面滑动
- ViewPager多页面滑动效果
- ViewPager滑动页面的制作
- ViewPager多页面滑动效果
- ViewPager实现多页面滑动
- ViewPager实现滑动切换页面
- viewpager滑动页面动态实现
- Fragment + ViewPager实现滑动页面
- 仿微信 滑动页面 Fragment ViewPager
- 【页面滑动】ViewPager的使用
- Java回文数
- 测试
- flex+hibernate实现SQLserver的增删改查
- shell中的多进程【并发】http://bbs.51cto.com/thread-1104907-1-1.html
- 字符编码方面
- ViewPager滑动页面
- C++函数间数据传递方式
- 2012年5月SAT香港真题解析
- checkbox的常用操作
- Eclipse中设置编码的方式
- hdu 3491 Thieves
- 关于左侧面板中滚动条信息(怎么在不知情的情况下查看页面每个模块的信息)
- Zookeeper之Zab协议介绍(一)
- Flip Game