• android中viewPager实现的屏幕左右切换(入门篇)


    大多数的APP都可以实现几个屏幕来回的切换,

    首先新建两个Activity,内容随意,布局随意。接下来在MainActivity.xml:

     1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     tools:context=".MainActivity" >
     6 
     7     <android.support.v4.view.ViewPager
     8         android:id="@+id/viewpager"
     9         android:layout_width="wrap_content"
    10         android:layout_height="wrap_content" >
    11     </android.support.v4.view.ViewPager>
    12 
    13 </RelativeLayou
    不要忘记android-support-v4包,目前4.0以上版本都自带

    接下来是java中的方法:
     1 protected void onCreate(Bundle savedInstanceState) {
     2         super.onCreate(savedInstanceState);
     3         setContentView(R.layout.activity_main);
     4         viewPager = (ViewPager) findViewById(R.id.viewpager);
     5         View view1 = LayoutInflater.from(MainActivity.this).inflate(R.layout.a,
     6                 null);
     7         View view2 = LayoutInflater.from(MainActivity.this).inflate(R.layout.b,
     8                 null);
     9         list = new ArrayList<View>();
    10         list.add(view1);
    11         list.add(view2);
    12         viewPager.setAdapter(new MyAdapter());
    13     }
     1 class MyAdapter extends PagerAdapter {
     2 
     3         @Override
     4         public int getCount() {
     5             return list.size();
     6         }
     7 
     8         @Override
     9         public boolean isViewFromObject(View arg0, Object arg1) {
    10             return arg0 == arg1;
    11         }
    12 
    13         @Override
    14         public CharSequence getPageTitle(int position) {
    15             return titlelist.get(position);
    16 
    17         }
    18 
    19         @Override
    20         public Object instantiateItem(View container, int position) {
    21             ((ViewPager) container).addView(list.get(position));
    22             return list.get(position);
    23         }
    24 
    25         @Override
    26         public void destroyItem(View container, int position, Object object) {
    27             super.destroyItem(container, position, object);
    28             ((ViewPager) container).removeView(list.get(position));
    29         }
    30     }

    至此就可以实现两个屏幕的切换

  • 相关阅读:
    C++中的向量学习
    delphi中判断popupmenu的弹出来源....
    在QT4中使用类似QVBox类似功能
    flex控件的学习网站(收藏)
    总结Flash XMLSocket 通信问题
    Fiddle扩展HttpPing批量检测web服务器是否正常
    flex的Socket通讯沙箱和安全策略问题
    .Net平台开源作业调度框架Quartz.Net
    IE6 7 select option设置disabled无效
    Flex值得一看参考资源
  • 原文地址:https://www.cnblogs.com/stayreal/p/3960346.html
Copyright © 2020-2023  润新知